【问题标题】:Apache Shiro, @RequiresRoles, 401 error codeApache Shiro,@RequiresRoles,401 错误代码
【发布时间】:2016-07-15 23:15:22
【问题描述】:

我已经用@RequiresRoles("role") 注释标记了我的REST 方法,我确实希望返回401403 错误代码(当主题没有指定角色或未经过身份验证时),

但是 org.apache.shiro.authz.UnauthorizedException 被包裹在 javax.servlet.ServletException: 过滤请求失败 500 而是返回错误代码。

如何配置根据异常返回的错误码?

谢谢。

【问题讨论】:

    标签: java apache shiro jaas


    【解决方案1】:

    根据 JAX-RS 规范,包装成 ServletException 是可以的。

    由异常映射提供程序将org.apache.shiro.authz.UnauthorizedException 映射到具有正确状态的响应。您应该在您的实现中添加一个。

    我建议将org.apache.shiro.authz.UnauthorizedException 映射到Response.Status.FORBIDDEN 的响应。

    【讨论】:

      猜你喜欢
      • 2018-05-12
      • 2015-07-22
      • 2015-04-18
      • 1970-01-01
      • 2014-03-18
      • 2016-04-04
      • 2018-10-01
      • 2012-07-01
      • 2017-04-14
      相关资源
      最近更新 更多