2009-09-18 39 views
1

我需要在AD中設置針對域用戶組的LDAP身份驗證;有一個問題,ldap authenticatin似乎要求用戶是除默認域用戶以外的其他組的成員。但是,當有超過10000個用戶時,它並不是將這些用戶分配給另一個用於這個tomcat目的的解決方案。如何設置tomcat ldap身份驗證沒有檢查成員

還有別的辦法嗎?是否可以通過編輯server.xml或web.xml來檢查primaryGroupID?

還是可以完全忽略GROUP檢查?

回答

0

根據Realm Configuration HOW-TO

目錄境界支持兩種方法來在目錄中的角色的代表性:

  • 角色作爲明確的目錄條目
    角色可以通過明確的目錄來表示條目。角色條目通常是一個LDAP組條目,其中一個屬性包含角色名稱,另一個屬性值則是該角色中用戶的可分辨名稱或用戶名。下面的屬性配置目錄搜索,找到與認證的用戶關聯的角色的名字:
  • roleBase - 角色搜索的基本條目。如果未指定,則搜索庫是頂級目錄上下文。
  • roleSubtree - 搜索範圍。如果您想搜索以roleBase條目爲根的整個子樹,請設置爲true。默認值false僅請求包含頂級的單級搜索。
  • roleSearch - 用於選擇角色條目的LDAP搜索過濾器。它可選地包括針對專有名稱的模式替換「{0}」和/或針對經認證用戶的用戶名的「{1}」。
  • roleName - 包含該角色的名稱
  • 角色作爲用戶入口
    的角色名,也可以持有的值的屬性的角色條目屬性屬性在用戶的目錄條目中。使用userRoleName指定此屬性的名稱。

可以使用兩種角色表示方法的組合。

所以一種方法是使用屬性,如果你有適當的東西。有些工具可以對AD屬性進行「批量更新」或「批量修改」。如果你不想污染AD,那就用ADAM包裝它。您可以在ADAM中創建指向AD用戶的代理對象,並在ADAM中添加屬性。有關更多信息,請參閱Understanding ADAM bind redirection

0

境界亞類從org.apache.catalina.realm.RealmBase導出有一個配置參數,allRolesMode其控制行爲時,不設置角色屬性(userRoleName)或條目(roleSearch等)。這留給了他們的配置文件,但會出現在Javadoc。你可能想allRolesMode="strictAuthOnly"