代码之家  ›  专栏  ›  技术社区  ›  user3310115

如何在Springboot中验证多个基本ldap dns

  •  0
  • user3310115  · 技术社区  · 6 年前

    ldap.urls= ldap://localhost:10389/
    ldap.base.dn= ou=users,dc=example,dc=com
    ldap.user.dn.pattern = cn={0}
    
    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
    
        if(Boolean.parseBoolean(ldapEnabled)) {
            auth.ldapAuthentication()
                    .userDetailsContextMapper(userDetailsContextMapper())
                    .userDnPatterns(ldapUserDnPattern)
                    .contextSource()
                    .url(ldapUrls+ldapBaseDn);
        }
    }
    

    但我想对多个2基dns执行此操作。 ldap.base.dn= ou=test1,dc=example,dc=com, ldap.base.dn= ou=test2,dc=example,dc=com

    1 回复  |  直到 6 年前
        1
  •  0
  •   user3310115    6 年前

    userDNSPatters varchar . 下面是修改后的版本

    ldap.urls= ldap://localhost:10389/
    ldap.base.dn= dc=example,dc=com
    ldap.user.dn.pattern.test1 = cn={0},ou=test1
    ldap.user.dn.pattern.test2 = cn={0},ou=test2
    
    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
    
        if(Boolean.parseBoolean(ldapEnabled)) {
            auth.ldapAuthentication()
                    .userDetailsContextMapper(userDetailsContextMapper())
                    .userDnPatterns(ldapUserDnPattern1, ldapUserDnPattern2)
                    .contextSource()
                    .url(ldapUrls+ldapBaseDn);
        }
    }
    

    这样它会搜索 ou's