我只是想知道我们是否在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
答案 0 :(得分:1)
如果您将项目配置为在Shiro annotation not working on JavaEE6 project中回答使用Shiro注释,那么您应该能够通过在请求范围的托管bean的类级别放置所需的Shiro注释来设置页面级限制。 / p>
@Named
@RequestScoped
@ShiroSecured
@RequiresPermissions("staff:delete")
public class SomeBean {
// ...
}
答案 1 :(得分:0)
在摆弄它一段时间之后我得出结论,具有与Seam相同的功能是不可能的,但Apache Shiro通过许可提供相同的细粒度控制。在哪里你可以控制谁访问/什么。至于我如何将Apache Shiro与JavaEE6集成,我就是这样做的:http://czetsuya-tech.blogspot.com/2012/10/how-to-integrate-apache-shiro-with.html。