使用自定义属性对LDAP用户进行分组

问题描述 投票:0回答:1

我有一个Web应用程序,我想控制哪个用户可以看到什么数据。所以我认为用户可以属于一个组(即DBA,中间件专家,UNIX人员等),登录用户只能在应用程序中看到它的数据。 我希望LDAP进行身份验证。我假设在LDAP中没有指定这样的组(即,我不想使用LDAP组,因为我不能强制公司LDAP创建组并将用户放在这些组中)。

我想到的是一个灵活的解决方案,比如能够在每个用户上使用自定义属性(比如名为'acces_groups'),这些组可以用逗号分隔字符串。 我读到必须改变objectClass(如organizationalPerson)的模式才能做到这一点。但有没有一种简单的方法可以在LDAP中向用户添加这样的自定义属性(我说的是已经在运行的公司LDAP)?或者你将如何解决这个问题(不破坏/破坏当前的LDAP)?我没有说出什么样的LDAP(OpenLDAP,活动目录等),因为我想要一个通用的解决方案。

active-directory ldap openldap apacheds
1个回答
0
投票

这是两种可能的解决方案/实现:

  • 您的假设:您可以添加架构而不是更改organizationalPerson objectClass。 (因为更改已建立的模式将使您的LDAP不能成为标准)然后将此objectClas添加到所有用户,以允许他们使用此模式定义的属性。 您可以定义acces_groups属性并使其成为多值。您还可以为每个标志定义一个属性,您需要dbamiddleware等,并使其成为布尔值等。 为什么我不会这样做: 与使用LDAP中可用的内置机制相比,这是一种更加复杂和侵入性的方法。 如果您的LDAP管理员允许您修改这样的LDAP模式,那么要求他使用组应该没有问题,因为这种方法实现起来要复杂得多,耗时少。 每天管理它只是一种痛苦,因为你没有完整性机制。 “仿真”组中的所有“CRUD”操作都必须“手动”完成 如果要删除组,则必须删除设置该组的所有用户的属性。 如果要列出“组”,则必须搜索具有正确值的属性集的所有用户 等等
  • 使用组:您确实可以创建dbamiddleware等组,并将用户分配给这些组。 它允许您使用组成员发货并自动使用他所属的组填充用户的属性 它是LDAP标准,只需要处理数据而不是处理LDAP配置(涉及停机时间,可能的错误/挫折等) 如果您的公司允许您修改LDAP配置和用户数据,那么它还应该允许您创建组并为其分配人员
© www.soinside.com 2019 - 2024. All rights reserved.