Security 基于Spring安全组的授权
我打算制定基于组的许可方案,但我对以下内容感到困惑: 我有一些问题:Security 基于Spring安全组的授权,security,spring,jakarta-ee,spring-security,Security,Spring,Jakarta Ee,Spring Security,我打算制定基于组的许可方案,但我对以下内容感到困惑: 我有一些问题: 什么是最佳方法用户>组>角色>权限或 用户>角色>权限 在这种情况下如何实现安全性(登录/记住我)(需要一个指向好教程的链接) 方法级安全性将使用注释@preautoize hasPermission(#,'')或hasRole或什么 如何根据权限(UI是JSF)在UI中隐藏组件(非管理员的管理) 如果我在视图中隐藏组件,那么方法级安全性的重要性是什么 5) 即使您在GUI中隐藏了一些有趣的内容,恶意用户也可能发送一个伪造的H
用户>组>角色>权限
或
用户>角色>权限
@preautoize hasPermission(#,'')
或hasRole或什么- Spring3中有一个集成的解决方案(您必须搜索您的解决方案,我不使用它)
- 您可以实现自己的授权提供程序,通过已分配的角色添加权限
User->Roles
就足够了。在更复杂的应用程序中,可以使用用户->角色->权限
,但这完全取决于如何定义每个应用程序的范围。通常,您需要细粒度的角色,并将它们分配给用户。我想说,在中间添加另一个级别是<代码>组< /代码>有点太多了。把它想象成一个文件系统——平面文件系统是存在的,并不像看上去那么复杂。在做出决定时要慢慢来,因为这是最重要的决定之一,而且会产生很多不容易预测的影响
2) 身份验证和记住我的机制已经在SpringSecurity中实现了——您所需要做的就是选择最适合您的实现,并使用安全命名空间支持对其进行配置。若你们还并没有看过示例应用程序,那个么一定要看一看
3) 如果决定使用权限,则应始终检查权限。保持你选择的增益等级。保持一致。总是
4) 根据您使用的视图技术,可能会派上用场(如Ralph所述)。JSF没有这样的东西,但编写类似的东西相对简单
5) 正如拉尔夫所说,如果你隐藏了一些东西,并不意味着它已经不存在了——它仍然可以被一个没有特权的用户调用。Spring Security 4-SNAPSHOT 权限组 另一种方法是将权限划分为多个组并分配
向用户分组。感谢您的精彩回答,但我确实需要更多关于以下几点的细节3-我假设addUser或deleteUser等方法执行特定操作,因此只需要权限检查,对吗?2-请给我一个实现身份验证的好链接,记住我1-组有什么不好,它比角色有什么优势,这意味着我为什么要使用它?提前谢谢。@Jsword:我不想失礼,但安全是一个你真正需要理解的主题。所以我强烈建议你多读一些关于Spring Security的内容。你说得很对,我需要多读一些,这就是为什么我要一本好的教程,非常感谢。那里有很多教程。在这篇文章中提到了一些。春季安全的新书出版了。曼宁出版社有一个你可以在几分钟内下载并开始练习的工具。使用你最喜欢的搜索引擎——“spring security groups authentication code”将是一个有用的搜索。这是一个非常好的答案,应该比大量的“过度投票”的答案获得更多的支持。