gpt4 book ai didi

java - spring security ldap隐藏密码属性

转载 作者:行者123 更新时间:2023-11-30 06:46:07 24 4
gpt4 key购买 nike

如果我的 ldap OU 的密码属性被隐藏,是否会出现问题?在 Spring Security 中我必须做一些额外的配置吗?如果我当前的 LDAP 结构如下: enter image description here

并且 test cn 密码属性被隐藏,我应该如何配置 spring security 进行 ldap 身份验证?

目前我的配置如下:

@Override
public void configure(AuthenticationManagerBuilder auth) throws Exception {
auth
.ldapAuthentication()

.userDnPatterns(USER_DN_PATTERNS)
.groupSearchBase("ou=groups")
.contextSource(contextSource())
.passwordCompare()
.passwordEncoder(new LdapShaPasswordEncoder())
.passwordAttribute("UnicodePwd");
}

@Bean
public DefaultSpringSecurityContextSource contextSource() {
DefaultSpringSecurityContextSource contextSource = new DefaultSpringSecurityContextSource(Arrays.asList(LDAP_URL), BASE_DN);
contextSource.setUserDn(USER_DN);
contextSource.setPassword(USER_PASSWORD);
return contextSource;
}

DN 如下:

private static final String USER_DN_PATTERNS  = "OU=Usuarios";
private static final String BASE_DN = "dc=mutualser," + "dc=org";

但是当我尝试进行身份验证时,我收到 NO_ATTRIBUTE_OR_VAL 错误(我确信这是密码属性的名称)

最佳答案

如果未指定密码,Spring security 将假定密码为 un​​icodePwd。

@Override
public void configure(AuthenticationManagerBuilder auth) throws Exception {
auth
.ldapAuthentication()
.userSearchFilter("(sAMAccountName={0})")
.groupSearchBase("ou=Mutual Ser")
.contextSource(contextSource());
}

可以很好地进行身份验证

关于java - spring security ldap隐藏密码属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43660207/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com