1 回答

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超5個(gè)贊
查看您的 LDIF 文件,您似乎正在嘗試獲取定義為inetOrgPerson的一部分的屬性。Spring Security 為這個(gè)InetOrgPersonContextMapper
. 這會(huì)將定義的屬性映射到InetOrgPerson
,這將根據(jù)UserDetails
需要進(jìn)行操作。
要配置您只需要?jiǎng)?chuàng)建一個(gè)新實(shí)例并將其連接到您的配置。
@SpringBootApplication
public class ApplicationSecurity extends WebSecurityConfigurerAdapter {
@Override
public void configure(AuthenticationManagerBuilder auth) throws Exception {
auth
.ldapAuthentication()
.userDnPatterns("uid={0},ou=people")
.groupSearchBase("ou=groups")
.contextSource()
.url("ldap://localhost:8389/dc=springframework,dc=org")
.and()
.userDetailsContextMapper(new InetOrgPersonContextMapper())
.passwordCompare()
.passwordEncoder(passwordEncoder())
.passwordAttribute("userPassword");
}
這將相應(yīng)地映射屬性。當(dāng)您使用 LDAP 時(shí),您不需要UserDetailsService注入,因?yàn)樗鼤?huì)自動(dòng)配置LdapUserDetailsService底層。
添加回答
舉報(bào)