Grails 3.1.15でorg.grails.plugins:spring-security-core:3.1.1
を実行しています。エラー処理時のヌル認証403
ステータスコード403
を返信すると、ErrorController
は適切なエラーページを生成する必要があります(これはUrlMappings
にマッピングされています)。そのエラーページを生成するにはspringSecurityService.currentUser
が必要です。
springSecurityService.currentUser
が認証オブジェクトと同様にnullであるため、このプロセスではNPE
が返されます。
これはGrails2でうまく機能し、はspring-security-plugin
です。
私はこの質問に遭遇しました:Spring SecurityContext returning null authentication on error pagesと、そこにはExceptionTranslationFilter
が存在しなければならないという提案があります。 Grails2では実際には存在しますが、Grails3ではに置き換えられました。これはまだフィルタチェーン内にあります。
私はエラー403
備考取り扱う場合は(ヌル認証を取得)起こってからそれを防ぐために何をすることができます:Tomcatの中で展開されたときに
- 全体の状況は唯一の生産ENVで起こる - ありませんdevモードで再生可能