我正在做一个项目,我有多个资源和多个用户,我需要做的是根据他想要访问的资源将不同的访问权限关联到每个用户
问题是一个简单的LDAP服务器无法实现这种情况,
一个想法是使用多个 LDAP 服务器,每个资源一个,那么我该如何管理它们呢?
或者在这种情况下我可以使用另一个身份验证过程吗?
我正在做一个项目,我有多个资源和多个用户,我需要做的是根据他想要访问的资源将不同的访问权限关联到每个用户
问题是一个简单的LDAP服务器无法实现这种情况,
一个想法是使用多个 LDAP 服务器,每个资源一个,那么我该如何管理它们呢?
或者在这种情况下我可以使用另一个身份验证过程吗?
Spring Security有一个特殊的 ACL 模块来处理这种情况。基本思想是每个域对象/资源可能有单独的访问控制列表。您需要使用适当的权限填写此列表并在您的代码中添加相应的检查。您可以在对象之间建立父 -> 子关系以减少权限数量。检查出来。
问题是一个简单的LDAP服务器无法实现这种情况
我的可以。您使用 LDAP 定义与每个用户关联的角色,然后使用 web.xml 将资源与访问它们所需的角色关联,然后配置/编写登录模块,以便它查找每个用户的角色当您登录时。容器管理的安全性可以做到这一切。
如果您有访问资源的逻辑,您可能需要使用规则授权语言,例如 XACML。如果将资源分配给用户是任意的,那么将 ACL 与 Spring Security 的 ACL 模块一起使用就足够了。