【问题标题】:How to handle Shiro Authorization Exception?Shiro授权异常如何处理?
【发布时间】:2012-03-22 22:45:53
【问题描述】:

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

/admin = authc, roles[ADMIN]

它工作正常并将我重定向到我创建的未经授权的分页。 现在我得到了注释工作,所以我在一个类的顶部使用了@RequiresRoles(value={"manager","admin","superadmin"}):

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

它会抛出

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

在使用注解来捕获此类授权时,有什么要激活的吗?

感谢您阅读本文。

【问题讨论】:

    标签: spring web-applications zk shiro


    【解决方案1】:

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

    [更新] 我看到在 Shiro 问题跟踪器上有一个针对同一 here 的未解决问题。所以它也应该适用于类级别。 Here 是相关线程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-28
      • 1970-01-01
      • 1970-01-01
      • 2012-08-05
      • 2012-11-06
      • 1970-01-01
      • 2014-10-13
      • 2011-10-26
      相关资源
      最近更新 更多