私はパラメータでサービスメソッドを持っているが、以下のようにアイテムIDのコレクションです:@PreAuthorizeをコレクション内のIDとともに使用するにはどうすればよいですか?
List<Item> getItems(Collection<Long> itemIds)
は、どのように私はそれを確保するために@PreAuthorizeを使用することができますか?
@PostFilterのみを使用する必要がありますか?私は、メソッドが実行される前にチェックをしたいと思います:)
私はパラメータでサービスメソッドを持っているが、以下のようにアイテムIDのコレクションです:@PreAuthorizeをコレクション内のIDとともに使用するにはどうすればよいですか?
List<Item> getItems(Collection<Long> itemIds)
は、どのように私はそれを確保するために@PreAuthorizeを使用することができますか?
@PostFilterのみを使用する必要がありますか?私は、メソッドが実行される前にチェックをしたいと思います:)
たぶん、あなたが望むもの@PreFilter
です:
@PreFilter("hasPermission(filterObject, 'com.example.Item', 'read')")
List<Item> getItems(Collection<Long> itemIds)
注ユーザーは黙って破棄されるための許可をしていないアイテムIDという。
'オブジェクト1からIDを抽出できませんでした'というメッセージとともに 'org.springframework.security.acls.domain.IdentityUnavailableException'をスローします。 – RichardMZ
@RichardMZ 3つのパラメータで 'hasPermission'を呼び出していますか?そのメソッドはその例外をスローするべきではありません。 – holmis83
申し訳ありません。私が言ったのは、HttpResponseの例外とメッセージの表示です。コンソールの例外は「java.lang.NoSuchMethodException:java.lang.Long.getId()」です。そして私は3つのパラメータで 'hasPermission'を呼び出しました:) – RichardMZ
'@ PreAuthorize'がこの目的を達成できる場合、より意味的に一致すると思います。 – RichardMZ