7

アクセス制御に@PreAuthorizeアノテーションを使用しようとしています。認証オブジェクトの詳細でいくつかのカスタムフィールドを確認する必要があります。WebAuthenticationDetailsのサブクラスであり、カスタムフィールドを含むCustomWebAuthenticationDetailsクラスがあります。通常、CustomWebAuthenticationDetailsのカスタムフィールドにアクセスするには、次を使用します。

((CustomWebAuthenticationDetails)authentication.getDetails()).getCustomField()

ただし、@ PreAuthorize式で上記のステートメント(CustomWebAuthenticationDetailsへの完全修飾パスを含む)を使用しようとすると、次のエラーが発生します。

java.lang.IllegalArgumentException: Failed to parse expression ...

ここで型キャストをどうするのですか?

ありがとう、

ダニエル

4

1 に答える 1

10

私の知る限り、ELの動的で解釈された性質を考えると、キャストは必要ありません。ランタイム オブジェクトのプロパティが存在する場合、宣言された型を気にせずにそれを見つけます。

authentication.details.customField
于 2012-06-09T06:59:55.630 に答える