我已使用REST
注释标记了我的@RequiresRoles("role")
方法,我确实希望返回401
,403
错误代码(当主题没有时)指定或未经过身份验证的角色,
但org.apache.shiro.authz.UnauthorizedException
包含在javax.servlet.ServletException:
已过滤的请求失败500
错误代码被返回。
如何根据例外情况配置要返回的错误代码?
THX。
答案 0 :(得分:0)
根据JAX-RS规范,将ServletException
包含在内是可以的。
由异常映射提供程序将org.apache.shiro.authz.UnauthorizedException
映射到具有正确状态的响应。您应该在实现中添加一个。
我建议将org.apache.shiro.authz.UnauthorizedException
映射到Response.Status.FORBIDDEN
的回复。