我有一个Web应用程序,我想控制哪个用户可以看到哪些数据。所以我认为用户可以属于一个组(即DBA,中间件专家,UNIX人员等),登录用户只能在应用程序中查看其数据。
我希望LDAP进行身份验证。我假设在LDAP中没有指定这样的组(即,我不想使用LDAP组,因为我不能强制公司LDAP创建组并将用户放在这些组中)。
我认为这是一个灵活的解决方案,例如能够在每个用户上使用自定义属性(比如名为'acces_groups'),这些组可以用逗号分隔字符串。
我读到必须改变objectClass(如organizationalPerson)的模式才能做到这一点。但有没有一种简单的方法可以在LDAP中向用户添加这样的自定义属性(我说的是已经在运行的公司LDAP)?
或者你将如何解决这个问题(不破坏/破坏当前的LDAP)?
我没有说出什么样的LDAP(OpenLDAP,活动目录等),因为我想要一个通用的解决方案。
答案 0 :(得分:0)
这是两种可能的解决方案/实施方式:
您的假设:您可以添加架构而不是更改organizationalPerson
objectClass。 (因为更改已建立的架构会使您的LDAP不能标准化)
然后将此objectClas添加到所有用户,以允许他们使用此模式定义的属性。
您可以定义acces_groups
属性并使其成为多值。您还可以为每个标记定义一个属性,您需要dba
,middleware
等,并将其设置为布尔值等。
为什么我不会这样做:
使用群组:您确实可以创建dba
,middleware
等群组,并将用户分配到这些群组。