【问题标题】:Shiro error redirectionShiro 错误重定向
【发布时间】:2017-12-04 12:18:52
【问题描述】:

如何在 Web 应用中出现 Shiro 重定向错误?

我已经配置了我的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 错误时,页面保持空白。

【问题讨论】:

    标签: shiro


    【解决方案1】:

    我想我明白了...它是空白的,因为方法 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 = anon
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-21
      • 2015-08-01
      • 1970-01-01
      • 2012-12-10
      • 2012-04-19
      • 2012-12-06
      • 2012-07-04
      • 2023-03-27
      相关资源
      最近更新 更多