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