2

我只是想知道我们在 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 插件仅支持启用具有特定权限的特定角色可以访问网页的特定部分。

谢谢,
czetsuya

4

2 回答 2

1

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

@Named
@RequestScoped
@ShiroSecured
@RequiresPermissions("staff:delete")
public class SomeBean {
    // ...
}
于 2013-01-23T12:05:00.597 回答
0

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

于 2012-10-11T06:39:31.590 回答