java - Spring LDAP 安全性不断重置

标签 java spring spring-security ldap

我有一个 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 后会发生什么?

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

最佳答案

尝试进行调试

protected Authentication createSuccessfulAuthentication(UsernamePasswordAuthenticationToken authentication,
            UserDetails user){

}

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

关于java - Spring LDAP 安全性不断重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33561803/

相关文章:

java - Jasper 报告 - 在将参数传递给报告引擎之前进行参数转换?

java - 在 GlassFish Server 上创建并运行应用程序客户端

java - 实现一个行为类似于 nginx 的 Undertow 反向代理

database - Cas认证和数据库授权

java - 使用哪些语言/互联网协议(protocol)来远程控制机器人/电子产品?

Java 'Object.clone' 与等于 ('= ...' )

java - Spring mvc - 如何在不同的 Controller 中使用或发送相同的对象?

java - Spring JpaRepository - 分离和附加实体

java - 通过 GET 方法重定向到 j_spring_security_check

java - Spring Security 5.1 - 使用 WebClient 获取客户端凭证流的 token