我正在设置一个应用程序以使用 LDAP 向 Open Directory 进行身份验证。
Open Directory 以 RFC 2307 posixGroups 格式存储群组,如下所示:
cn: mygroup
objectClass: top
objectClass: apple-group
objectClass: posixGroup
apple-group-memberguid: AA7B69F2-84E1-4ED3-AEC6-25AD976DB1C7
memberUid: noa
但是应用程序希望组采用 LDAP Core Schema groupOfNames 格式,如下所示:
cn: mygroup
objectClass: top
objectClass: groupOfNames
member: uid=noa,cn=users,dc=myserver,dc=example,dc=private
换句话说,目录服务器提供了不合格的 uid,而应用程序需要 DN。
我如何配置 slapd 来:
动态提供一个看起来像的实体
groupOfNames
(从上面复制):cn: mygroup objectClass: top objectClass: groupOfNames member: uid=noa,cn=users,dc=myserver,dc=example,dc=private
或者使用组成员的 DN 动态发出额外属性,如下所示:
cn: mygroup objectClass: top objectClass: apple-group objectClass: posixGroup apple-group-memberguid: AA7B69F2-84E1-4ED3-AEC6-25AD976DB1C7 memberUid: noa memberDn: uid=noa,cn=users,dc=myserver,dc=example,dc=private
似乎 OpenLDAP 覆盖可以做到这一点,但我正在寻求有关细节的帮助。
(该应用程序是 BusinessObjects Crystal Reports Server。支持人员表示他们不支持 OpenLDAP,但在研究了目录服务器后,他们做支持,我相信这应该在翻译的帮助下起作用。我可以配置类和属性名称,但重申一下,组必须使用 DN 而不是 UID 来提供成员。)