首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >LDAP向用户分配角色的最佳方法

LDAP向用户分配角色的最佳方法
EN

Stack Overflow用户
提问于 2016-06-20 05:40:37
回答 2查看 22.5K关注 0票数 3

是设置用户角色和权限的任何标准方法。

选项1:创建组并在其中分配成员。

我的人dn如下。

代码语言:javascript
运行
复制
  DN: uid=55e44a75e4b0f16711714165,ou=people,dc=cofinding,dc=com 

我为角色创建了小组。并指派成员

代码语言:javascript
运行
复制
DN: cn=ADMIN,ou=roles,dc=cofinding,dc=com  

并在这里添加了具有角色管理的成员。近50K成员添加了ADMIn角色。

选项2:在people .e.g中添加自定义值角色。我将dn创建为user_role

代码语言:javascript
运行
复制
DN: uid=55e44a75e4b0f16711714165,ou=people,dc=cofinding,dc=com

在人们中,我们可以添加user_role=ADMIN,MASTER_ADMIN

是他们的任何其他选择或标准做法。因为角色在任何身份验证过程中都非常重要。

EN

回答 2

Stack Overflow用户

发布于 2016-06-21 07:01:34

首先:角色与身份验证无关,它们在授权过程中使用。当authenticating,验证用户是谁时,基于某种凭据;一旦建立,将在授权流程中咨询角色,以确定是否应该授予用户对特定资源的访问权限。

回答你关于角色的问题:这两种方式都是可行的。第一种方法可能是最常见的方法(而且最符合LDAP中通常的结构方式)。查看用于表示角色的groupOfNames和groupOfUniqueNames对象类)。根据用例的不同,我认为后者在许多情况下可能更实用,但您需要考虑的是,它并不完全是标准的“LDAP方式”。

票数 6
EN

Stack Overflow用户

发布于 2016-06-21 15:37:34

还有一个选项是选项#1和#2之间的混合选项,您可以使用所谓的动态组或URL组,而不是使用静态组(选项1):

代码语言:javascript
运行
复制
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的用户都将自动添加到管理组中。下面是一个示例管理用户:

代码语言:javascript
运行
复制
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)中获得最好的结果:

  1. 您的组条目的大小不会增加。
  2. 您可以查询组以获得成员列表: $ ldapsearch -p 1389 -D "cn=directory manager“-w password -b cn=ADMIN,ou=roles,dc=cofinding,dc=com”(objectClass=groupOfURLs)“(objectClass=groupOfURLs)”dn: cn=ADMIN,ou=roles,dc=cofinding,dc=com cn: ADMIN memberURL: ldap:// ou=people,dc=cofinding,dc=com??sub?user_role=ADMIN成员:memberURL,,
  3. 可以在搜索筛选器中使用memberOf虚拟属性: (memberOf=cn=ADMIN,ou=roles,dc=cofinding,dc=com)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37915255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档