【问题标题】:How to integrate User permissions in Ldap如何在 Ldap 中集成用户权限
【发布时间】:2013-10-22 01:20:01
【问题描述】:

我的目标是分配给用户权限。例如:

用户“John”属于角色 ROLE_CUSTOMERS 并拥有以下权限:'READ_MAILS'、'ADD_MAILS'。

用户“David”属于角色 ROLE_USERS 并具有以下权限:'DELETE_MAILS'

我设法将用户和角色映射到 ldap 目录。 用户 -> 约翰,大卫 组 -> ROLES_CUSTOMER,ROLE_USERS

但我缺少权限部分。

我不知道如何声明“READ_MAILS”、“DELETE_MAILS”、“ADD_MAILS”属性/权限/任务,或者你怎么称呼它。

  1. 如何在 ldap 端将每个权限分配给用户?

  2. 在让特定用户执行某些操作之前,如何在 Spring Security 方面检索这些权限。

*我不确定我正在寻找的这个要求称为“权限”,如果我错了,请纠正我。

谢谢, 射线。

【问题讨论】:

  • 对于本地用户,您可以为他们分配角色/权限吗?
  • 你对他们意味着什么?什么都没有实现。我正在想办法做到这一点。

标签: java spring authentication spring-security authorization


【解决方案1】:

您正在寻找的是细粒度的权限/权利。这些通常不存储在 LDAP 中,而是存储在另一个解决方案中,例如授权服务。

关于 Spring Security,这个article 可能会有所帮助。还可以考虑permissions 上的 Spring API 文档。

我建议您考虑使用 XACML(可扩展访问控制标记语言)的基于标准的方法。使用 XACML,您可以使用来自 LDAP 的角色,然后编写规则,例如a manager can edit accounts that are in the same region as the user.。在 OASIS website 或 Wikipedia 上查看 XACML 以了解更多信息。

【讨论】:

  • 感谢您的回复。所以你怎么看。我将无法使用常规 Spring 安全方法获得 LDAP 权限?关于 XACML:您有任何使用 spring security xacml 和 ldap 获取权限的实际示例吗?谢谢。
  • 这完全取决于您的授权模型有多复杂。原则上,LDAP 组/角色和 Spring Security 就足够了。如果您有像我举的例子那样的关系,那么 XACML 是值得的。你能给我们一个你想实现的授权逻辑的例子吗?这里有一篇更好的关于 Spring Security 的授权架构的文章:docs.spring.io/spring-security/site/docs/3.0.x/reference/…
猜你喜欢
  • 2013-11-19
  • 1970-01-01
  • 1970-01-01
  • 2022-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多