クラス AbstractFallbackMethodSecurityMetadataSource

java.lang.ObjectSE
org.springframework.security.access.method.AbstractMethodSecurityMetadataSource
org.springframework.security.access.method.AbstractFallbackMethodSecurityMetadataSource
実装されたすべてのインターフェース:
org.springframework.aop.framework.AopInfrastructureBeanMethodSecurityMetadataSourceSecurityMetadataSource
既知の直属サブクラス
Jsr250MethodSecurityMetadataSourceMapBasedMethodSecurityMetadataSourceSecuredAnnotationSecurityMetadataSource

@DeprecatedSE public abstract class AbstractFallbackMethodSecurityMetadataSource extends AbstractMethodSecurityMetadataSource
使用すべきではありません。
代わりに <method-security> および <intercept-methods> に use-authorization-manager 属性を使用するか、アノテーションベースまたは AuthorizationManager ベースの認可を使用します。
Spring AOP と AspectJ の両方をサポートし、以下から属性解決を実行する MethodSecurityMetadataSource の抽象実装。1。特定のターゲットメソッド。2. ターゲットクラス。3. メソッドの宣言。4. クラス / インターフェースを宣言します。キャッシュサポートのために DelegatingMethodSecurityMetadataSource とともに使用します。

このクラスは、Spring の AbstractFallbackTransactionAttributeSource クラスの動作を模倣しています。

このクラスは、そのメタデータがターゲットメソッド / クラス(つまり、上記の #1 および #2)を介して表現され、ターゲットメソッド / クラスが別のプロキシオブジェクトにカプセル化されているセキュリティメタデータを抽出できないことに注意してください。Spring Security は、プロキシチェーンをウォークして、具体的 / 最終的なターゲットオブジェクトを検索しません。Spring Security を最終アドバイザーにすることを検討してください(別のプロキシではなく、最終ターゲットにアドバイスします)。メタデータを宣言されたメソッドまたはプロキシが実装するインターフェースに移動するか、独自の代替 MethodSecurityMetadataSource を提供します。

導入:
2.0
  • コンストラクターの詳細

    • AbstractFallbackMethodSecurityMetadataSource

      public AbstractFallbackMethodSecurityMetadataSource()
      使用すべきではありません。
  • メソッドの詳細

    • getAttributes

      public CollectionSE<ConfigAttribute> getAttributes(MethodSE method, ClassSE<?> targetClass)
      使用すべきではありません。
    • findAttributes

      protected abstract CollectionSE<ConfigAttribute> findAttributes(MethodSE method, ClassSE<?> targetClass)
      使用すべきではありません。
      指定されたメソッド呼び出しに適用可能なセキュリティメタデータを取得します。

      Method.getDeclaringClass() は targetClass と等しくない場合があることに注意してください。両方のパラメーターは、ターゲットクラスがメソッドを宣言していなくても、メソッドに対して「登録」されているメソッドメタデータに関連する高度な機能を提供したいサブクラスを支援するために提供されます (つまり、サブクラスはメソッドを継承するだけです)。

      パラメーター:
      method - 現在の呼び出しのメソッド (非 null)
      targetClass - 呼び出しのターゲットクラス (null の場合があります)
      戻り値:
      セキュリティメタデータ (メタデータが適用されない場合は null)
    • findAttributes

      protected abstract CollectionSE<ConfigAttribute> findAttributes(ClassSE<?> clazz)
      使用すべきではありません。
      指定されたクラスに対して登録されたセキュリティメタデータを取得します。

      サブクラスは、クラスレベルで表現されたメタデータのみを返す必要があります。抽象スーパークラスは、必要に応じて個々のメソッドの findAttributes(Method, Class) を個別に呼び出すため、サブクラスは、クラスに対して登録された各メソッドのメタデータを集約しないでください。

      パラメーター:
      clazz - 呼び出しのターゲットクラス (非 null)
      戻り値:
      セキュリティメタデータ (メタデータが適用されない場合は null)