如何处理Shiro授权异常?

时间:2012-03-05 12:58:54

标签: spring web-applications zk shiro

我已经开始在使用spring mvc 3.0.5和zk 5.0.8作为管理员的Web应用程序中使用shiro 1.1.0。我没有shiro注释工作,所以我在安全应用程序上下文中指定了requredroles:

/admin = authc, roles[ADMIN]

工作正常,并将我重定向到我创建的非主流分页。 现在我得到了Annotation,所以我在课堂上使用@RequiresRoles(value = {“manager”,“admin”,“superadmin”}):

@RequiresRoles(value = {"manager","admin","superadmin"})
public class ContentController extends GenericForwardComposer {...}

然后抛出

  

org.apache.shiro.authz.UnauthorizedException:主题没有角色[manager]

使用注释来捕获这些授权时是否有任何要激活的内容?

感谢您阅读本文。

1 个答案:

答案 0 :(得分:0)

根据RequireRoles javadoc,它应该在不在类上的方法上定义。如果当前主题没有必需的角色,那么Shiro应该重定向到访问被拒绝的页面。

[更新]我发现在同一here的Shiro问题跟踪器上有一个未解决的问题。所以它也应该适用于班级。 Here是相关主题。