【问题标题】:Spring LDAP security keep resettingSpring LDAP 安全性不断重置
【发布时间】:2016-02-07 07:20:03
【问题描述】:

我有一个 Spring - 安全登录 - 在我输入我的用户/密码后,在此处输入:

@Override
public UserDetails mapUserFromContext(final DirContextOperations ctx,
                                      final String username,
                                      final Collection<? extends GrantedAuthority> authorities) {
    LOGGER.debug("mapUserFromContext(username={})...", username);

    for (GrantedAuthority authority : authorities) {
        LOGGER.info("user: {} >> role: {}", username, authority.getAuthority());
    }

    LOGGER.debug("DONE >> mapUserFromContext(username={}).", username);


    EFormUserDetails eFormUserDetails = new EFormUserDetails();
    eFormUserDetails.setAuthorities(authorities);
    eFormUserDetails.setPassword("");
    eFormUserDetails.setUsername(username);
    eFormUserDetails.setAccountNonExpired(true);
    eFormUserDetails.setAccountNonLocked(true);
    eFormUserDetails.setCredentialsNonExpired(true);
    eFormUserDetails.setEnabled(true);
    eFormUserDetails.setJudet(securityUtils.getLoggedInUserJudet(authorities, username));
    LOGGER.debug("3.mapUserFromContext(after securityUtils.getLoggedInUserJudet).");

    return eFormUserDetails;
}

我得到“3.mapUserFromContext(在 securityUtils.getLoggedInUserJudet 之后)。”在我的记录器中,但登录窗口重置再次询问我用户/密码。在哪里放置记录器以查看它返回 eFormUserDetails 后会发生什么?

我必须在我的开发环境中这么说。它工作正常,问题出现在生产环境中,他们有一个代理和我的应用程序的安全认证地址。

【问题讨论】:

    标签: java spring spring-security ldap


    【解决方案1】:

    尝试在其中进行调试

    protected Authentication createSuccessfulAuthentication(UsernamePasswordAuthenticationToken authentication,
                UserDetails user){
    

    }

    AbstractLdapAuthenticationProvider的方法,这里只有登录成功后才会创建成功的认证对象。

    【讨论】:

      猜你喜欢
      • 2019-04-03
      • 2011-09-22
      • 2017-07-02
      • 2020-04-14
      • 2016-07-18
      • 2014-02-15
      • 2016-01-06
      • 2012-04-11
      • 2016-04-15
      相关资源
      最近更新 更多