使用LDAP的Spring Security - 预处理用户名

时间:2018-03-30 17:41:12

标签: spring spring-security ldap

我正在使用带有LDAP的Spring Security。 由于公司政策,应该可以使用用户名的四种不同变体登录,所有这些变体都包含用户ID:xxID,ID,xxID @organization.com和ID@organization.com。

我正在验证:     .userSearchFilter( “(及(objectClass的=人)(UID = {0}))”) 其中uid应为xxID。是否可以预处理用户名,以便所有变体都可以使用(同时仍然使用ldapauthentication())?

我的整个身份验证配置是:

public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
    auth
            .ldapAuthentication()
            .ldapAuthoritiesPopulator((userData, username) -> {
                ..get authorities from database
            })
            .userSearchFilter("(&(objectClass=person)(uid={0}))")
            .contextSource().url(env.getProperty("spring.ldap.urls", String[].class)[0]);
}

最佳

0 个答案:

没有答案