私は@PreAuthorizeを適用している次のインターフェースメソッドを持っています:
@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オブジェクトが存在します。さらに、このメソッドを呼び出す直前に、ユーザーオブジェクトが正しく構築されていることを確認しました。
userSPELパーサーによってフィールドがnullと見なされる理由が本当にわかりません