本文介绍了 3 个关于Spring Security 实现的模式。我想知道 和 之间的区别user schema
,acl schema
哪个更好用,或者换句话说,我想知道每个的域使用情况,以便为我的应用程序选择最佳解决方案。
问问题
1034 次
1 回答
2
您不能在没有用户模式的情况下使用 ACL 模式(因为身份验证过程取决于用户模式,通常您总是需要身份验证)。你有两个选择:
- 用户架构
- 用户架构和 ACL 架构
让我们看看他们能为您做什么:
用户模式用于基于角色的身份验证和授权。您可以保护 URL 或方法调用。使用用户模式,您可以处理以下情况:
- 具有 ADMIN 角色的用户可以访问 /admin.html。
- 具有 PRODUCT_MANAGER 角色的用户可以访问 /add_product.html
- 具有 PRODUCT_MANAGER 角色的用户可以访问 /manage_product.html?id=x。
- 具有 PRODUCT_VIEWER 角色的用户可以访问 /view_product.html?id=x。
ACL 模式用于增强授权。它将考虑实际的域对象。您将能够处理以下情况:
- 具有 PRODUCT_MANAGER 角色的用户只有在拥有 id=136 的产品所有者时才能访问 /manage_product.html?id=136 。
- 某些 PRODUCT_MANAGER 可以将管理自己的 id=136 产品的能力授予另一个 PRODUCT_MANAGER。
因此,继续使用用户模式并在需要时添加以后的 ACL 模式。
于 2013-01-02T11:13:48.187 回答