1

「IS_AUTHENTICATED_FULL」で注釈が付けられたコントローラー メソッドと、注入された springSecurityService を考えると、null ユーザー インスタンスが原因で例外が発生することがある理由がわかりません。

たとえば、私のコントローラーのアクションはそのようなものです..

@Secured(['IS_AUTHENTICATED_FULLY'])
  def ammendSomething = {

    def User user = springSecurityService.currentUser

    println user.fieldTest
    render "OK"
  }

重要なビット、注釈、ユーザーを取得するための呼び出し、およびフィールドへのアクセスを示すために大幅に変更されました。

上記の結果は NullPointerException: Cannot get property 'fieldTest' on null object になります

これは本番環境でのみ発生しており、ログインしていないときにこれを呼び出すと、「認証」ログイン プロセスに正しくリダイレ​​クトされるため、開発環境で問題を再現できませんでした。

そのため、springSecurityService に currentUser がない場合に、pringln user.fieldTest が実行されるという状況がどのように発生するのか、かなり困惑しています。

どんな考えでも大歓迎です。

ありがとう、

4

0 に答える 0