Spring/Hibernate 应用程序中的角色/权限

Posted

技术标签:

【中文标题】Spring/Hibernate 应用程序中的角色/权限【英文标题】:Roles/Priviledges in a Spring/Hibernate application 【发布时间】:2010-12-12 23:20:19 【问题描述】:

在银行或类似应用程序中,通常定义了多个角色并需要相关的权限(例如,普通用户只能进行交易但不能发布,而主管可以验证和发布它们,有点像制造商/检查者)。我们还需要在系统中添加新的角色和权限(不确定后者)。

如何在 Spring/Hibernate 应用程序中实现这种基于角色的访问?特别是在扩展以添加新角色/特权方面。 Acegi(我从未使用过)可以提供帮助吗?任何其他可以帮助我实现上述目标的想法将不胜感激。

谢谢,

【问题讨论】:

【参考方案1】:

正如 duffymo 所提到的,Acegi 已重命名为“Spring Security”,如果您已经在使用 Spring,我建议您这样做。

Acegi 的在线文档比 Spring Security 多,因此如果有疑问,您可以在 Acegi 文档/教程以及最新的 Spring 资料中找到有用的信息。

如果您可以设计您的用户表以符合 Spring Security 的概念(用户名、密码、角色,每个都有特定的类型和名称),那么您可以直接使用 Spring Security 的 DAO 类;如果没有,您构建一个小型适配器类来将 Spring Security 连接到您的数据库以供用户查询。

您可以为每个 servlet/URL 甚至在方法级别指定所需的角色。我花了一两天的时间来理解所涉及的概念,但在那之后配置它相当容易,我很高兴他们已经解决了与 Web 安全相关的大多数问题。

【讨论】:

【参考方案2】:

是的,Spring Security(以前称为 ACEGI)可以做到。

【讨论】:

以上是关于Spring/Hibernate 应用程序中的角色/权限的主要内容,如果未能解决你的问题,请参考以下文章

基于jsp+mysql+Spring+hibernate+的SSH在线学习交流论坛平台

GWT + Spring + Hibernate中的示例应用程序[关闭]

基于jsp+mysql+Spring+hibernate+的SSH在线学习交流论坛平台

在spring mvc中选择spring hibernate中的查询

Spring + Hibernate + Spring Security 配置

使用spring security进行身份验证后如何根据角色进行重定向[重复]