私は@PreAuthoriz
eを適用している次のインターフェースメソッドを持っています:
@PreAuthorize("doSomething(#user.id)")
void something(User user, List<User> accessList);
ここUser
で、はHibernateエンティティオブジェクトです。それは私にエラーを与えます:
org.springframework.expression.spel.SpelEvaluationException:EL1007E:(pos 13):フィールドまたはプロパティ'id'がorg.springframework.expression.spel.ast.PropertyOrFieldReference.readProperty(PropertyOrFieldReference.java:204)のnullで見つかりません
user
アノテーションを削除し、このインターフェイスメソッドを実装するメソッドのuserの値を検査するかのように、パラメータがnullになる方法はありません。そこには、有効なUser
オブジェクトが存在します。さらに、このメソッドを呼び出す直前に、ユーザーオブジェクトが正しく構築されていることを確認しました。
user
SPELパーサーによってフィールドがnullと見なされる理由が本当にわかりません