インターフェース RunAsManager

  • すべての既知の実装クラス:
    RunAsManagerImpl

    public interface RunAsManager
    現在のセキュアオブジェクト呼び出しのみに対して新しい一時 Authentication オブジェクトを作成します。

    このインターフェースにより、実装は、現在のセキュアオブジェクト呼び出しにのみ適用される Authentication オブジェクトを置き換えることができます。AbstractSecurityInterceptor は、SecurityContext に保持されている Authentication オブジェクトを、セキュアオブジェクトコールバック間のみ置き換え、コールバックが終了すると元の Authentication オブジェクトに返します。

    これは、オブジェクトの 2 つの層を持つシステムを確立できるようにするために提供されています。1 つの層は一般公開されており、通常の安全な方法があり、許可されたオーソリティは外部の呼び出し元によって保持されることが期待されています。もう一方のレイヤーはプライベートであり、パブリックレイヤー内のオブジェクトによってのみ呼び出されることが想定されています。このプライベートレイヤーのオブジェクトにはセキュリティが必要です(そうでない場合は public メソッドになります)。また、外部の呼び出し元から直接呼び出されないようにするためのセキュリティも必要です。プライベート層のオブジェクトは、外部の呼び出し元に決して付与されない付与された権限を要求するように構成されます。RunAsManager インターフェースは、この方法でセキュリティを向上させるメカニズムを提供します。

    実装は対応する具体的な Authentication および AuthenticationProvider を提供するため、置換 Authentication オブジェクトを認証できます。AuthenticationProvider が RunAsManager の承認された具体的な実装によって作成された Authentication オブジェクトのみを受け入れるようにするには、何らかのセキュリティを実装する必要があります。

    • メソッドのサマリー

      すべてのメソッド   インスタンスメソッド   抽象メソッド  
      修飾子と型 メソッド 説明
      AuthenticationbuildRunAs​(Authentication authentication, java.lang.Object object, java.util.Collection<ConfigAttribute> attributes)
      現在のセキュアオブジェクト呼び出しの置換 Authentication オブジェクト、または置換が不要な場合は null を返します。
      booleansupports​(java.lang.Class<?> clazz)
      RunAsManager 実装が、示されたセキュアオブジェクト型の代替として実行を提供できるかどうかを示します。
      booleansupports​(ConfigAttribute attribute)
      この RunAsManager が、渡された ConfigAttribute を処理できるかどうかを示します。
    • メソッドの詳細

      • buildRunAs

        Authentication buildRunAs​(Authentication authentication,
                                  java.lang.Object object,
                                  java.util.Collection<ConfigAttribute> attributes)
        現在のセキュアオブジェクト呼び出しの置換 Authentication オブジェクト、または置換が不要な場合は null を返します。
        パラメーター:
        authentication - 安全なオブジェクトを呼び出す呼び出し元
        object - 呼び出されている保護されたオブジェクト
        attributes - 呼び出されるセキュアオブジェクトに関連付けられた構成属性
        戻り値:
        セキュアオブジェクト呼び出しの期間中に使用される置換オブジェクト、または Authentication をそのままにしておく必要がある場合は null 
      • supports

        boolean supports​(ConfigAttribute attribute)
        この RunAsManager が、渡された ConfigAttribute を処理できるかどうかを示します。

        これにより、AbstractSecurityInterceptor は、構成された AccessDecisionManager および / または RunAsManager および / または AfterInvocationManager が消費できるすべての構成属性をチェックできます。

        パラメーター:
        attribute - AbstractSecurityInterceptor に対して構成された構成属性
        戻り値:
        この RunAsManager が渡された構成属性をサポートできる場合は true 
      • supports

        boolean supports​(java.lang.Class<?> clazz)
        RunAsManager 実装が、示されたセキュアオブジェクト型の代替として実行を提供できるかどうかを示します。
        パラメーター:
        clazz - 照会されているクラス
        戻り値:
        実装が指定されたクラスを処理できる場合は true