【问题标题】:Dynamic Security Authorization in Java EEJava EE 中的动态安全授权
【发布时间】:2012-07-03 12:17:56
【问题描述】:

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

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

【问题讨论】:

    标签: jsf-2 spring-security


    【解决方案1】:

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

    另见:

    您可以查看可用的示例应用程序here

    Instructions to run Spring Security sample applications.

    在尝试这些示例之前,您需要为数据库准备好 acl 表。这是Spring ACL tables的架构

    【讨论】:

    • 非常感谢,在进入 Spring 之前我很怀疑,因为我有时间限制,我不愿意花时间阅读和研究一些东西,最后弄清楚这是不可能的。谢谢:)
    • 我也知道 Spring ACL 上没有太多可用的文档。到目前为止我发现的最好的是Spring Security 3 Book。因此,如果可以,请获取一份副本。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-27
      • 1970-01-01
      • 1970-01-01
      • 2017-05-10
      • 2012-04-07
      • 2013-01-22
      • 1970-01-01
      相关资源
      最近更新 更多