是设置用户角色和权限的任何标准方法。
选项1:创建组并在其中分配成员。
我的人dn如下。
DN: uid=55e44a75e4b0f16711714165,ou=people,dc=cofinding,dc=com
我为角色创建了小组。并指派成员
DN: cn=ADMIN,ou=roles,dc=cofinding,dc=com
并在这里添加了具有角色管理的成员。近50K成员添加了ADMIn角色。
选项2:在people .e.g中添加自定义值角色。我将dn创建为user_role
DN: uid=55e44a75e4b0f16711714165,ou=people,dc=cofinding,dc=com
在人们中,我们可以添加user_role=ADMIN,MASTER_ADMIN
是他们的任何其他选择或标准做法。因为角色在任何身份验证过程中都非常重要。
发布于 2016-06-21 07:01:34
首先:角色与身份验证无关,它们在授权过程中使用。当authenticating,验证用户是谁时,基于某种凭据;一旦建立,将在授权流程中咨询角色,以确定是否应该授予用户对特定资源的访问权限。
回答你关于角色的问题:这两种方式都是可行的。第一种方法可能是最常见的方法(而且最符合LDAP中通常的结构方式)。查看用于表示角色的groupOfNames和groupOfUniqueNames对象类)。根据用例的不同,我认为后者在许多情况下可能更实用,但您需要考虑的是,它并不完全是标准的“LDAP方式”。
发布于 2016-06-21 15:37:34
还有一个选项是选项#1和#2之间的混合选项,您可以使用所谓的动态组或URL组,而不是使用静态组(选项1):
dn: cn=ADMIN,ou=roles,dc=cofinding,dc=com
objectClass: top
objectClass: groupOfURLs
cn: ADMIN
memberURL: ldap:///ou=people,dc=cofinding,dc=com??sub?user_role=ADMIN
memberURL是一个过滤器,它根据某个属性值和基本DN确定哪些用户属于组。在上面的示例中,ou=people,dc=cofinding,dc=com
下的每个具有属性user_role=ADMIN
的用户都将自动添加到管理组中。下面是一个示例管理用户:
dn: uid=55e44a75e4b0f16711714165,ou=people,dc=cofinding,dc=com
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
cn: John Doe
sn: Doe
uid: 55e44a75e4b0f16711714165
user_role: ADMIN
通过这种方法,您可以从这两个选项(#1和#2)中获得最好的结果:
(memberOf=cn=ADMIN,ou=roles,dc=cofinding,dc=com)
https://stackoverflow.com/questions/37915255
复制相似问题