Spring Security @PreAuthorize
アノテーションを使用して、JerseyベースのREST APIの適切なロールと権限を確認しています。私たちが心配しているのは、何らかの方法でアノテーションを忘れてしまい、それを無防備にしてしまうことです。@PreAuthorizeが確実に定義されていますか?
@PreAuthorize("permitAll")
(たとえすべてを明示的に許可しています)でも、すべてのAPIに注釈が付いていることを確認する方法はありますか?
APIがアノテーションを使用しない場合、要求がブロックされ(APIが使用できないように)、エラーがログに記録される(つまり、間違いがすぐにわかるように)ことを想定しています。
1つの方法は、要求を「安全」とマークする要求属性を追加するカスタム式を作成することです。次に、Webフィルタはリクエスト属性が適切であるかどうかをチェックし、そうでない場合はエラーをログに記録します。
これを行うにはクリーナーの方法はありますか?例えば、注釈なしのメソッドのデフォルトポリシーとして"denyAll"
を設定し、それを適切にオーバーライドする必要がありますか?