错误处理403时的空认证

时间:2017-03-15 12:11:36

标签: grails spring-security grails-spring-security

我现在正在使用org.grails.plugins:spring-security-core:3.1.1运行Grails 3.1.15。

当我返回状态代码403时,我的ErrorController应生成一个合适的错误页面(这在UrlMappings中映射)。它需要springSecurityService.currentUser来生成该错误页面。

事实证明,由于NPE为空以及身份验证对象,我在该过程中获得springSecurityService.currentUser

这在Grails2和v2的{​​{1}}中运行良好。

我遇到过这个问题:Spring SecurityContext returning null authentication on error pages并且建议spring-security-plugin必须到位。 在Grails2中确实存在,但在Grails3中,它被ExceptionTranslationFilter替换/扩展 - 它仍然在过滤器链中。

在处理UpdateRequestContextHolderExceptionTranslationFilter错误时,我该怎么做才能防止这种情况发生(获得空身份验证)

说明:

  • 当在Tomcat中部署时,整个情况仅发生在生产环境中 - 在开发模式下不可重现

1 个答案:

答案 0 :(得分:0)

您是否尝试过在application.yml中进行设置?这对Grails 2和Grails 3都有帮助。

grails:
    plugin:
        springsecurity:
            adh:
                errorPage: null