我只有一个与LDAP相关的小知识,所以如果我问傻话,请原谅我 .
我有一个Web应用程序,我想控制哪个用户可以看到什么数据 . 所以我认为用户可以属于一个组(即DBA,中间件专家,UNIX人员等),登录用户只能在应用程序中看到它的数据 .
我希望LDAP进行身份验证 . 我假设没有't such groups specified in LDAP (ie. I don't想要使用LDAP组,因为我无法强制公司LDAP创建组并将用户放在这些组中 .
我所想到的是一个灵活的解决方案,比如能够在每个用户上使用自定义属性(让's say named ' acces_groups')群组可以使用逗号分隔的字符串 .
我读到必须改变objectClass(如organizationalPerson)的模式才能做到这一点 . 但有没有一种简单的方法可以在LDAP中向用户添加这样的自定义属性(我说的是已经在运行的公司LDAP)?或者你将如何解决这个问题(不破坏/破坏当前的LDAP)?我没想到这里有一个共同的解决方案 .
谢谢,
V.
1 回答
这是两种可能的解决方案/实现:
organizationalPerson
objectClass . (因为更改已 Build 的模式将使您的LDAP不能成为标准)然后将此objectClas添加到所有用户,以允许他们使用此模式定义的属性 .您可以定义
acces_groups
属性并使其成为多值 . 您还可以为每个需要dba
,middleware
等标志定义一个属性,并将其设置为布尔值等 .为什么我不会这样做:
这是一种比使用LDAP中现有的内置机制更加复杂和侵入性的方法 .
如果您的LDAP管理员允许您修改这样的LDAP模式,那么要求他使用组应该没有问题,因为这种方法实现起来要复杂得多,耗时少 .
每天管理它只是一种痛苦,因为你没有完整性机制 . "emulated"组上的所有"CRUD"操作都必须完成"manually"
如果要删除组,则必须删除设置该组的所有用户的属性 .
如果要列出"group",则必须搜索具有正确值设置属性的所有用户
等
使用组:您确实可以创建
dba
,middleware
等组,并将用户分配给这些组 .它将允许您使用组成员发货并自动使用他所属的组填充您的用户中的属性
这是LDAP标准,只需处理数据而不是处理LDAP配置(涉及停机时间,可能的错误/挫折等)
如果您的公司允许您修改LDAP配置和用户数据,那么它还应该允许您创建组并为其分配人员