java - 如何在 Ldap 中集成用户权限

标签 java spring authentication spring-security authorization

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

用户“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 端检索这些权限。

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

谢谢, 射线。

最佳答案

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

关于 Spring Security,这 article可能有帮助。还要考虑关于 permissions 的 Spring API 文档.

我建议您考虑使用 XACML(可扩展访问控制标记语言)的基于标准的方法。使用 XACML,您可以使用来自 LDAP 的角色,然后编写规则,例如管理员可以编辑与用户在同一地区的帐户。。在 OASIS website 查看 XACML或在维基百科上获取更多信息。

关于java - 如何在 Ldap 中集成用户权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19487892/

相关文章:

java.lang.ClassNotFoundException : org. apache.commons.io.output.UnsynchronizedByteArrayOutputStream 上使用 HSSFWorkbook

java - JavaFX 1.8 中的计时器(时钟)

java - Java 按时间间隔运行循环

java - Autowiring 字段上的 PMD 异常 BeanMembersShouldSerialize

java - Spring 集成注释 Java 8 可选的不正确处理

eclipse - Maven 错误 :"Updating Maven Project"

security - 如何在没有 SSL 的情况下接受 Web API 上的身份验证?

java - 在 Java If Else block 中将多个变量连接到一个字符串

c# - 如何根据单个 ASP.NET Core 应用程序中的某些内容动态更改 OpenID 配置?

php - Paypal:使用paypal登录获取payerId