【问题标题】:how to configure multiple users to access multiple ressources with different rights?如何配置多个用户以不同的权限访问多个资源?
【发布时间】:2013-08-28 17:45:01
【问题描述】:

我正在做一个项目,我有多个资源和多个用户,我需要做的是根据每个用户想要访问的资源将不同的访问权限关联到每个用户

问题是一个简单的LDAP服务器无法实现这种情况,

一个想法是使用多个 LDAP 服务器,每个资源一个,那么我该如何管理它们?

或者在这种情况下我可以使用其他身份验证过程吗?

【问题讨论】:

  • 你有多少资源?它们的数量是动态的还是静态的?
  • 我拥有用户想要的尽可能多的资源,但一旦修复它就会保持静态(我使用的是模型驱动的生成过程)

标签: authentication spring-security ldap access-control


【解决方案1】:

Spring Security 有一个特殊的 ACL 模块来处理这种情况。基本思想是每个域对象/资源可能有单独的访问控制列表。您需要使用适当的权限填写此列表并在您的代码中添加相应的检查。您可以在对象之间建立父 -> 子关系以减少权限数量。 Check it out.

【讨论】:

  • @DavidBrossard 请注意,您可以使用 [link text](http://url) 链接文本,这对读者来说不那么突兀
  • 谢谢!我真的不想添加链接,只是修复错字。 Stackoverflow 不允许我更改一个字符 :-)
【解决方案2】:

如果您有访问资源的逻辑,您可能需要使用规则授权语言,例如 XACML。 如果将资源分配给用户是任意的,那么将 ACL 与 Spring Security 的 ACL 模块一起使用就足够了。

【讨论】:

    【解决方案3】:

    问题是简单的LDAP服务器无法实现这种情况

    我的可以。您使用 LDAP 定义与每个用户关联的角色,然后使用 web.xml 将资源与访问它们所需的角色关联,然后配置/编写登录模块,以便它查找每个用户的角色当您登录时。容器管理的安全性可以做到这一切。

    【讨论】:

    • 我不认为角色会以自然的方式解决这个问题,因为对资源的访问不是基于角色成员资格,而是任意选择,一个用户一个对象,一个对象一个对象。跨度>
    猜你喜欢
    • 1970-01-01
    • 2023-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-22
    • 2018-12-10
    相关资源
    最近更新 更多