【问题标题】:Null authentication when error handling 403错误处理 403 时的空身份验证
【发布时间】:2017-08-06 04:08:36
【问题描述】:

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

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

原来我在那个过程中得到了NPE,因为springSecurityService.currentUser 和身份验证对象一样为空。

这在 Grails2 和 v2spring-security-plugin 中运行良好。

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

在处理403 错误时,我能做些什么来防止这种情况发生(获得空身份验证)

备注:

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

【问题讨论】:

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


    【解决方案1】:

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

    grails:
        plugin:
            springsecurity:
                adh:
                    errorPage: null
    

    【讨论】:

      猜你喜欢
      • 2020-07-18
      • 1970-01-01
      • 1970-01-01
      • 2021-07-11
      • 1970-01-01
      • 1970-01-01
      • 2016-01-01
      • 2016-06-12
      • 2023-02-24
      相关资源
      最近更新 更多