Java EE中的动态安全授权

时间:2012-07-02 08:09:00

标签: jsf-2 spring-security

我想为我的应用程序中的每个按钮和函数实现基于角色的访问控制,可以修改onrRuntime。我正在Glassfish上实现JSF 2.0和EJB,目前正在使用JSecurity和JDBCRealm来限制对页面的访问。但问题是我的客户端已请求对角色和访问控制进行运行时修改,如果不修改web.xml文件并重新部署应用程序,则无法使用我当前的技术执行此操作。我阅读了很多关于Spring安全性的帖子。我想检查弹簧安全性是否可行,以及是否可以在春季动态控制访问控制(可以在运行时编辑)到页面+(按钮和字段级别访问)这样的机制。

我正在使用JSF 2.0,glassfish 3.1,EJB 3.0和J_Security_check进行身份验证。

2 个答案:

答案 0 :(得分:1)

是的,可以使用Spring Security。 Spring Security允​​许通过MutableAcl接口对访问控制列表(ACL)字段进行运行时操作。它允许创建,更新和删除访问控制条目(ACE),还提供JdbcMutableAclService将这些更改持久保存到JDBC数据存储区。

另见:

您可以看到示例应用程序here

Instructions to run Spring Security sample applications

在尝试这些示例之前,您需要使用acl表准备好数据库。以下是Spring ACL tables

的架构

答案 1 :(得分:0)

我认为最好的办法就是分配角色。例如。按钮“提交”可以由具有角色“提交者”的用户点击,按钮“过滤”按角色“过滤器”等等。