如何让Shiro在Web应用程序中重定向错误?
我已经配置了我的web.xml
<error-page>
<error-code>500</error-code>
<location...</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>...</location>
</error-page>它工作得很好。但当Shiro处于活动状态时,我故意抛出一个500错误,页面仍然是空白的。
发布于 2017-06-30 23:03:42
我想我明白了..。它是空的,因为无论哪里发生问题,方法onAccessDenied()都会返回false。
要解决这个问题,一种可能的解决方案是:
@Override
protected boolean onAccessDenied(ServletRequest request, ServletResponse response)
throws Exception {
if(!executeLogin(request, response)){
//throw exception
} else {
return true;
}
}当然,要确保在web.xml中定义的错误页面是shiro.ini中的anon
例如:
[urls]
/error500.xhtml = anonhttps://stackoverflow.com/questions/44848142
复制相似问题