8

在 Liferay 的 LDAP 身份验证设置中使用时,b/n memberOf 属性和 groupMembership 属性有什么区别?

用户导入成功。这些组也已成功导入。

但是用户不会自动分配到组中。当我将组变量从“groupMembership”更改为“memberOf”时,一些用户无法登录 Liferay。

memberOf 和 groupMembership 变量到底是什么?

LDAP Liferay 设置

4

1 回答 1

19

memberOf不是“变量”,它是一个属性,或者更准确地说,它是一个虚拟属性,或者是一些目录服务器动态生成的动态属性,但不是全部。有些用于memberOf搜索过滤器或搜索请求的属性列表,有些isMemberOf用于相同目的,有些支持两者或都不支持,可能还有其他我不知道的习语。

一般来说,要确定组成员,向目录服务器发出搜索请求,并在属性列表中指定memberOfisMemberOf返回。这是使用现代ldapsearch命令行工具的示例:

ldapsearch --port 1389 --baseDn 'ou=people,dc=example,dc=com' \
     --sizeLimit 3 --searchScope one --bindDn 'cn=directory manager' \
     --bindPasswordFile ~/.pwdFile '(uid=user.0)' isMemberOf
dn: uid=user.0,ou=people,dc=example,dc=com
isMemberOf: cn=Dynamic Home Directories,ou=groups,dc=example,dc=com
isMemberOf: cn=bellevue,ou=groups,dc=example,dc=com
isMemberOf: cn=shadow entries,ou=groups,dc=example,dc=com
isMemberOf: cn=persons,ou=groups,dc=example,dc=com

此搜索响应表明它user.0是所列组的成员。

要反转查询的含义,即确定哪些条目是组的成员,请在搜索请求中使用的过滤器中使用isMemberOformemberOf和断言:

ldapsearch --port 1389 --baseDn 'ou=people,dc=example,dc=com' \
   --sizeLimit 3 --searchScope one --bindDn 'cn=directory manager' \
   --bindPasswordFile ~/.pwdFile \
  '(isMemberOf=cn=persons,ou=groups,dc=example,dc=com)' 1.1
dn: uid=terrygardner,ou=people,dc=example,dc=com

dn: uid=user.0,ou=people,dc=example,dc=com

dn: uid=user.1,ou=People,dc=example,dc=com

dn: uid=user.10,ou=People,dc=example,dc=com

此搜索响应表明该组中有几个成员的专有名称为cn=persons,ou=groups,dc=example,dc=com

虽然不是针对LifeRay的,但以上是处理组成员身份的一种方法的一般解释,以及从 LDAP 角度来看反向组成员身份的一般解释。

于 2011-08-25T13:46:27.737 回答