architecture - 如何在 LDAP 中存储组属性(用于授权)

标签 architecture ldap

我是 LDAP 新手,正在考虑对 LDAP 中的授权产品权限进行建模。感谢网络上的许多精彩文章,我现在知道如何使用 Roles/GroupOfNames 指定组成员身份,但是存储与组成员身份关联的属性值的最佳实践是什么?

例如,如果我想说一个用户可以访问产品 A、B 和 C,我可以创建 3 个组并将该用户分配为每个组的成员。然而现在我想说的是,除其他权限外,用户对 A 具有读取权限,对 B 具有写入权限,对 C 组具有读取权限 - 他们最喜欢的颜色是绿色,用户的代号是“1234”。

为每个组成员身份创建单独的层次结构并为每个组成员身份使用自定义架构是否合适?

即: dc=company, dc=com ou=Users uid = 1; ou=Products uid=A (members=1) uid=B (members=1) uid=C (members=1) ou=Permissions ou=ProductA uid=1, Access=Read ou=ProductB uid=1, Access=Write ou=ProductC<br/> uid=1, FavColour=Green, codename=1234

提前致谢!

最佳答案

LDAP 属性不能有属性,因此您不能拥有具有成员属性的产品,而该成员属性又具有“读取”或“写入”属性。

您可能必须在每个产品下添加读取和写入的子树,以便用户的成员资格为 <product>给他基本的访问权限,无论是什么,甚至什么都没有,以及 <product>/Read 的成员资格添加读取访问权限:与写入类似。

你关于C组的问题与授权无关,我想说它完全超出了LDAP的范围。我会将其放入数据库中。 LDAP 非常适合它的用途,但很难用于其他用途。您可以轻松地将它用于任何分层结构,但对我来说,这看起来一点也不像 LDAP 案例。

关于architecture - 如何在 LDAP 中存储组属性(用于授权),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33884998/

相关文章:

php - 哪个Active Directory的属性对应PHP中ldap_bind函数的 "bind_password"参数

c++ - C++ 中的 Windows LDAP 身份验证

nhibernate - 继承上的组合 - 额外的属性去哪里了?

architecture - 从外部访问 React 状态

asp.net - 如何设置 web.config 以在不更改代码的情况下构建多环境?

java - 尝试在带有 unboundid LDAP SDK 的 scala 中更改密码时,如何解决 "WILL_NOT_PERFORM"MS AD 回复?

java - 如何获取 LDAP Active Directory 中禁用的用户

c# - 在 WPF MVVM 应用程序中管理 DbContext

entity-framework - 有没有人在生产中使用 POCO Adapter for Entity Framework?

python - Python 3 有 LDAP 模块吗?