【问题标题】:Can a JSF Page level permission be set using Shiro可以使用 Shiro 设置 JSF 页面级别权限吗
【发布时间】:2012-09-28 07:50:57
【问题描述】:

我只是想知道我们在 Shiro 中是否有页面级别的权限设置?例如,我有一个 jsf 页面,我只想在具有人员角色和删除权限的用户中显示。

在 JBoss 中我们有类似的东西:

<page xmlns="http://jboss.com/products/seam/pages"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.1.xsd">
    <restrict>#{persistentPermissionResolver.hasPermission('staff','delete')}</restrict>
</page>

这个功能在 JavaEE6 + Shiro + JSF 中也可用吗? JSP 和 JSF 插件似乎只支持让具有特定权限的特定角色可以访问网页的特定部分。

谢谢,
切苏亚

【问题讨论】:

    标签: security jsf-2 java-ee-6 shiro


    【解决方案1】:

    如果您将项目配置为使用 Shiro annotation not working on JavaEE6 project 中回答的 Shiro 注释,那么您应该能够通过将所需的 Shiro 注释放在请求范围托管 bean 的类级别来设置页面级别限制。

    @Named
    @RequestScoped
    @ShiroSecured
    @RequiresPermissions("staff:delete")
    public class SomeBean {
        // ...
    }
    

    【讨论】:

      【解决方案2】:

      在摆弄了一段时间后,我得出结论,拥有与 Seam 相同的功能是不可能的,但 Apache Shiro 通过权限提供了相同的细粒度控制。您可以在其中控制谁访问/访问什么。至于我如何将 Apache Shiro 与 JavaEE6 集成,我是这样做的:http://czetsuya-tech.blogspot.com/2012/10/how-to-integrate-apache-shiro-with.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-22
        • 2021-10-11
        相关资源
        最近更新 更多