2

このページのSpringSecurityビデオをご覧になりました。

36:30頃、彼は以下に示すように、メソッドシグネチャとともにセキュリティアノテーションを使用してメソッドを保護することについて話します。

@Secured("ROLE_USER")
public String create();

メソッドと一緒にアノテーションを保持する必要があるのはなぜですか?(セキュリティアノテーションはメソッドの機能とは何の関係もないため)

これらの注釈を別のファイルに入れて、実際のコードを変更せずに変更できるようにすることはできますか?(おそらくSpring AOP機能のようなものを使用しています)

4

1 に答える 1

1

はい、SpringAOPのおかげでそれを行うことができます。

<global-method-security>
    <protect-pointcut expression="execution(* com.domain.service.*.*(..))" access="ROLE_USER"/>
</global-method-security>

あなたのニーズに合わせて表現してください。

XML宣言は、柔軟性の観点から優れています。次の場合を検討してください。

  • 一部のサービスを2つのモジュールで再利用したいが、異なるセキュリティルールを設定したい。
  • パッケージごとにセキュリティ制限を適用したい

XMLでのみ可能です。

注釈は読みやすさの観点から優れています。いくつかの方法が表示されたら、すべてのセキュリティ制限を直接表示できます。毎回XMLファイルを開いて式について考える必要はありません(このメソッドに適用されますか?)。簡単です。

両方のアプローチを混在させないでください。それはとても混乱しています。ニーズを確認し、プロジェクトに最適なものを選択してください。

于 2013-01-31T09:24:00.977 に答える