我正在嘗試將我們當前的網絡應用程序遷移到retLDive角色和身份驗證以及openLDAP系統。我在動態組(groupOfURLs)和openLDAP中遇到了一些問題。我使用OpenLDAP 2.4.33和Spring 3.2。OpenLDAP中的動態組問題
我已經驗證了我的身份驗證成功,但是現在,我在設置系統時使用動態組疊加層爲角色使用動態組時存在問題。
在彈簧端,我試圖使用一個DefaultLdapAuthoritiesPopulator和groupSearchFilter =「(member = {0})」。我遇到的問題是,春天不會找到我的動態組成員的任何但是它可以找到靜態組的成員(是groupofNames)(。
這似乎並不成爲一個春天問題,因爲我在使用ldapsearch命令同樣的問題。我遇到的問題是由例子最好的說明。
我使用以下LDIF
dn: ou=Groups,dc=myapp,dc=com
objectClass: top
objectClass: organizationalUnit
ou: Groups
dn: ou=Users,dc=myapp,dc=com
objectClass: top
objectClass: organizationalUnit
ou: Users
dn: uid=userA,ou=Users,dc=myapp,dc=com
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
uid: userA
cn: test-forename
sn: test-surname
mail: [email protected]
userPassword:: e1NTSEF9bVpJVGxZRlFYdnhBemhLQkdxWll0VnlRQjRUdjBaelhEZkpaZnc9PQ==
dn: uid=userB,ou=Users,dc=myapp,dc=com
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
uid: userB
cn: test-forename
sn: test-surname
mail: [email protected]
userPassword:: e1NTSEF9bVpJVGxZRlFYdnhBemhLQkdxWll0VnlRQjRUdjBaelhEZkpaZnc9PQ==
dn: cn=DynamicGroup,ou=Groups,dc=myapp,dc=com
cn: DynamicGroup
objectClass: top
objectClass: groupOfURLs
ou: Groups
memberURL: ldap:///ou=Users,dc=myapp,[email protected]
dn: cn=StaticGroup,ou=Groups,dc=myapp,dc=com
cn: StaticGroup
objectClass: top
objectClass: groupofnames
ou: Groups
member: uid=userA,ou=Users,dc=myapp,dc=com
這就造成了兩個用戶和兩組,一靜one dynamic。
如果我做一個簡單的搜索,我得到
ldapsearch.exe -v -x -h localhost -p 389 -D "cn=admin,dc=myapp,dc=com" -w secret -LL -b "ou=Groups,dc=myapp,dc=com" "(objectClass=*)" dn member
在此我使用( 「(objectClass的= *)」 DN成員),我得到以下結果
ldap_initialize(ldap://localhost:389)
filter: (objectClass=*)
requesting: dn member
version: 1
dn: ou=Groups,dc=myapp,dc=com
dn: cn=DynamicGroup,ou=Groups,dc=myapp,dc=com
member: uid=dbunit,ou=Users,dc=myapp,dc=com
member: uid=userA,ou=Users,dc=myapp,dc=com
member: uid=userB,ou=Users,dc=myapp,dc=com
dn: cn=StaticGroup,ou=Groups,dc=myapp,dc=com
member: uid=dbunit,ou=Users,dc=myapp,dc=com
顯然,這種搜索說明該查詢返回靜態和動態組的結果。這表明它已正確配置並且它具有一個屬性成員。
我遇到的問題是當我在成員attributrs上添加一個過濾器。
ldapsearch.exe -v -x -h localhost -p 389 -D "cn=admin,dc=myapp,dc=com" -w secret -LL -b "ou=Groups,dc=myapp,dc=com" "(member=*)" dn member
在這種情況下,我應用過濾器「(member = *)」。
ldap_initialize(ldap://localhost:389)
filter: (member=*)
requesting: dn member
version: 1
dn: cn=StaticGroup,ou=Groups,dc=myapp,dc=com
member: uid=dbunit,ou=Users,dc=myapp,dc=com
在這種情況下,返回的所有內容都是靜態組。看起來,過濾器似乎沒有訪問成員屬性。
有沒有其他人來過這個問題?
任何幫助,將不勝感激。
我不相信你可以應用其他過濾器動態組,它本身就是一個過濾器。關於這個話題還有另一個最近的問題似乎證明了這一點。 – EJP
是的,我剛剛看到,我張貼後(http://stackoverflow.com/questions/4603570/openldap-dynlist-posixgroup)。我希望有人可能有一個很好的解決方法。在帖子中他們提到使用自動分組覆蓋,所以我開始研究這一點。 –