3

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

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

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

我设法将用户和角色映射到 ldap 目录。用户 -> John,David 组 -> ROLES_CUSTOMER,ROLE_USERS

但我错过了权限部分。

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

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

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

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

谢谢,雷。

4

1 回答 1

1

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

关于 Spring Security,这篇文章可能会有所帮助。还要考虑有关权限的 Spring API 文档。

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

于 2013-10-21T17:20:01.630 回答