2016-04-13 261 views
0

在我的春天開機/春季安全的Java應用程序的顯示代碼工作正常...LDAP搜索過濾器不工作

但現在我只想從LDAP特定的子目錄限制用戶。 (mydomain.local/IT/USERS)

我該如何限制?

我嘗試使用provider.setSearchFilter(XXXX),並得到了異常

o.s.s.ldap.SpringSecurityLdapTemplate : Ignoring PartialResultException 

Java代碼: - :"&(sAMAccountName={0})"代替"(sAMAccountName={0})"

@Bean 
    public AuthenticationProvider activeDirectoryLdapAuthenticationProvider() { 

     ActiveDirectoryLdapAuthenticationProvider provider = new ActiveDirectoryLdapAuthenticationProvider("mydomain.local", "ldap://server.mydomain.local:389"); 
     provider.setConvertSubErrorCodesToExceptions(true); 
     provider.setUseAuthenticationRequestCredentials(true); 
    // provider.setSearchFilter("(sAMAccountName={0})"); 
     return provider; 
    } 

回答

-1

是否有工作?

+0

不會,因爲這不是合法的語法,即使它是合法的也沒有意義,並且問題不是答案。 – EJP

+0

不禮貌主要在於發表個人言論,而不是我做出這些言論。在這裏注意你的禮節。 – EJP

0

您正在設置過濾器,但您並未在任何地方設置參數{0}的值。