在银行或类似应用程序中,通常定义了多个角色并需要相关的权限(例如,普通用户只能进行交易但不能发布,而主管可以验证和发布它们,有点像制作者/检查者)。我们还需要在系统中添加新的角色和权限(不确定后者)。
您如何在 Spring/Hibernate 应用程序中实现这种基于角色的访问?特别是在扩展以添加新角色/特权方面。Acegi (我从未使用过)可以提供帮助吗?任何其他可以帮助我实现上述目标的想法都将不胜感激。
谢谢,
在银行或类似应用程序中,通常定义了多个角色并需要相关的权限(例如,普通用户只能进行交易但不能发布,而主管可以验证和发布它们,有点像制作者/检查者)。我们还需要在系统中添加新的角色和权限(不确定后者)。
您如何在 Spring/Hibernate 应用程序中实现这种基于角色的访问?特别是在扩展以添加新角色/特权方面。Acegi (我从未使用过)可以提供帮助吗?任何其他可以帮助我实现上述目标的想法都将不胜感激。
谢谢,
正如 duffymo 所提到的,Acegi 已重命名为“Spring Security”,如果您已经在使用 Spring,我会推荐它。
Acegi 的在线文档比 Spring Security 多,因此如果有疑问,您可以在 Acegi 文档/教程以及更新的 Spring 资料中找到有用的信息。
如果您可以设计您的用户表以符合 Spring Security 的概念(用户名、密码、角色,每个都有特定的类型和名称),那么您可以直接使用 Spring Security 的 DAO 类;如果没有,您构建一个小型适配器类来将 Spring Security 连接到您的数据库以供用户查询。
您可以为每个 servlet/URL 甚至在方法级别指定所需的角色。我花了一两天的时间来理解所涉及的概念,但在那之后配置起来相当容易,而且我很高兴他们已经解决了与 Web 安全相关的大多数问题。
是的,Spring Security(以前称为 ACEGI)可以做到。