我使用LDAP進行身份驗證,並且對於特定域中的用戶,一切正常。但是我很難理解我如何驗證第二個域下的用戶。我下面顯示的當前配置指定了用戶搜索庫中的第一個域。我刪除了這個參數,希望它能搜索所有的域名,但那不起作用。出現提示時,我也嘗試將域指定爲用戶名的一部分,例如domain \ user,但這也不起作用。我可以配置Spring Security以提示輸入域名以及用戶名和密碼
<security:authentication-manager alias="authenticationManager">
<security:ldap-authentication-provider
user-search-filter="(samaccountname={0})"
user-search-base="dc=domain,dc=company,dc=com"
user-context-mapper-ref="userContextMapper" >
</security:ldap-authentication-provider>
</security:authentication-manager>
<security:ldap-server
url="ldap://some.url.com:3000"
manager-dn="CN=USER1,OU=FacMgr,OU=FAC,OU=Exchange,dc=domain,dc=company,dc=com"
manager-password="xxxx"/>
我需要創建一個自定義搜索,如果有的話,有人可以在這種情況下提供一個例子嗎?
如果您還沒有解決您的問題呢,我正好橫跨[這顆寶石(http://www.coderanch.com/t/485524/Spring/SpEL),而尋找用於將動態字段注入SpEL表達式的方法。從外觀上看,你應該能夠在'ldap.xml'配置文件中指定兩個不同的LDAP bean,然後根據域輸入引用相關的bean(即通過一個攔截登錄請求的控制器並轉發它動態)通過註釋。具體而言,請查找哪些引用列出了「TaxRuleProcessor」對象的註釋。這很漂亮。 – cabbagery 2013-05-02 15:56:43