私たちは、Spring SecurityのACLアノテーションを使用して、特定のWebサービスにアクセスできるようにしています。 @PreAuthorize
と@PostAuthorize
は非常に有用であると思われ、私たちが持っているほとんどのユースケースに有利です。個々のメソッド等に関するSPELベースのルールは、アプリケーションとそのサービスにおける細粒度のセキュリティを支援しています。例えばのためにSpring Security @Preとコレクションのコレクションの@Postアノテーションの使い方
: - 単一のオブジェクトが返されたときにこれが正常に動作します
@PreAuthorize("hasRole('ROLE_ADMIN') and returnObject.owner == authentication.name")
public SomeDTO getSomeDTO(){ ... }
以下のように私たちは、返されたオブジェクトの所有者を確認してください。リストが返された場合、同等のものは何ですか?コレクションをループして、そのコレクション内の個々の要素のプロパティをSPELを使用してチェックするにはどうすればよいですか?
これは動作していないようですが、ドキュメントは正当なものと思われます。いくつかの例を試してみましょう – aksappy