我们使应用程序能够使用 LDAP。
在应用程序的配置中,我们需要通知一个 URL 来连接 LDAP。我们目前提供以下网址...
ldap://10.2.0.5:389/dc=domain,dc=abc,dc=de?uid
问题:我们需要在上面的 URL 中添加一个过滤器,以便仅定位属于“accessgroup”组的用户,以便将应用程序访问权限限制为仅属于该组的用户。
也就是说,类似的东西......
curl "ldap://10.2.0.5:389/dc=domain,dc=abc,dc=de?uid?sub?(&(memberof=cn=accessgroup,ou=groups,dc=domain,dc=abc,dc=de)(uid=%s))"
我们已经尝试了数百种设置,但没有任何效果... =|
团体
cn:
accessgroup
gidNumber:
1004
memberUid:
usera
userb
userc
userd
usere
userf
userg
userh
useri
objectClass:
top
posixGroup
用户
cn:
User Letter A
gecos:
User Letter A
gender:
M
gidNumber:
544
givenName:
User
gotoLastSystemLogin:
01.01.1970 00:00:00
homeDirectory:
/home/usera
loginShell:
/bin/bash
mail:
[email protected]
objectClass:
top
person
organizationalPerson
inetOrgPerson
gosaAccount
posixAccount
shadowAccount
sambaSamAccount
[...]
uid:
usera
uidNumber:
1004
[...]
谢谢!=D
您的 LDAP 服务器的 memberOf 属性是如何创建的?您是否检查过以确保您的用户确实具有 memberOf 属性?
例如,在 OpenLDAP 中,仅当您使用 memberof 覆盖或使用动态列表管理它们时才会填充 memberOf。
情况:
问题是我们正在尝试使用 POSIX 组进行过滤,并且没有特定的覆盖。存在的是一种有些复杂且费力的解决方法,可以在此处观察到为 POSIXGROUPS 生成成员属性。
解决方案:
为了解决这个问题,我们实施了一个简单的解决方案,可以在这里看到......
psx-grp-flt - 用户针对 pgMemberOf (memberOf) 的 posixGroup 成员资格
...基本上是以下...
谢谢!=D