クラス AclImpl

    • コンストラクターの詳細

      • AclImpl

        public AclImpl​(ObjectIdentity objectIdentity,
                       java.io.Serializable id,
                       AclAuthorizationStrategy aclAuthorizationStrategy,
                       AuditLogger auditLogger)
        MutableAclService.createAcl(ObjectIdentity) を使用する必要がある最小のコンストラクター。
        パラメーター:
        objectIdentity - この ACL が関連するオブジェクト ID (必須)
        id - この ACL に割り当てられた主キー (必須)
        aclAuthorizationStrategy - 認可戦略 (必須)
        auditLogger - 監査ロガー (必須)
      • AclImpl

        public AclImpl​(ObjectIdentity objectIdentity,
                       java.io.Serializable id,
                       AclAuthorizationStrategy aclAuthorizationStrategy,
                       PermissionGrantingStrategy grantingStrategy,
                       Acl parentAcl,
                       java.util.List<Sid> loadedSids,
                       boolean entriesInheriting,
                       Sid owner)
        フルコンストラクター。フィールドレベルのアクセス機能を提供しない永続化ツールで使用する必要があります。
        パラメーター:
        objectIdentity - この ACL が関連するオブジェクト ID
        id - この ACL に割り当てられた主キー
        aclAuthorizationStrategy - 認可戦略
        grantingStrategy - isGranted() メソッドで使用される PermissionGrantingStrategy 
        parentAcl - 親 (null かもしれません)
        loadedSids - サブセットのみがロードされた場合、ロードされた SID (null の場合があります)
        entriesInheriting - 親からの ACE がこの ACL を継承する必要がある場合
        owner - 所有者 (必須)
    • メソッドの詳細

      • getEntries

        public java.util.List<AccessControlEntry> getEntries()
        インターフェースからコピーされた説明: Acl
        現在の Acl で表されるすべてのエントリを返します。 Acl の親に関連付けられているエントリは返されません。

        この方法は通常、管理目的で使用されます。

        エントリが配列に現れる順序は、MutableAcl インターフェースで宣言されたメソッドにとって重要です。さらに、一部の実装では、高度な権限チェックの一部として順序を使用する場合があります。

        認可の決定を行うためにこのメソッドを使用しないでください。代わりに Acl.isGranted(List, List, boolean) を使用してください。

        Acl Sid のサブセットのみを表す場合でも、このメソッドは正しく動作する必要があります。 Sid のサブセットのみが表現されている場合、呼び出し元は結果を正しく処理する必要があります。

        次で指定:
        インターフェース AclgetEntries 
        戻り値:
        Acl で表されるエントリのリスト。現在この Acl に関連付けられているエントリがない場合は null
      • getId

        public java.io.Serializable getId()
        インターフェースからコピーされた説明: MutableAcl
        この MutableAcl を表す識別子を取得します。
        次で指定:
        インターフェース MutableAclgetId 
        戻り値:
        識別子。保存されていない場合は null
      • getObjectIdentity

        public ObjectIdentity getObjectIdentity()
        インターフェースからコピーされた説明: Acl
        この Acl がエントリを提供するドメインオブジェクトを取得します。 Acl が作成されると、これは不変です。
        次で指定:
        インターフェース AclgetObjectIdentity 
        戻り値:
        オブジェクトのアイデンティティ (決して null )
      • isEntriesInheriting

        public boolean isEntriesInheriting()
        インターフェースからコピーされた説明: Acl
        Acl.getParentAcl() からの ACL エントリを現在の Acl に流す必要があるかどうかを示します。

        Acl と親 Acl の間の単なるリンクだけでは、ACL エントリが継承されません。これは、ドメインオブジェクトは完全に独立したエントリを持ちたいが、ナビゲーションのために親とのリンクを維持する必要があるためです。このメソッドは、ナビゲーション関連がエントリの実際の継承にも及ぶかどうかを示します。

        次で指定:
        インターフェース AclisEntriesInheriting 
        戻り値:
        true 親 ACL エントリが現在の Acl を継承する場合
      • isGranted

        public boolean isGranted​(java.util.List<Permission> permission,
                                 java.util.List<Sid> sids,
                                 boolean administrativeMode)
                          throws NotFoundException,
                                 UnloadedSidException
        PermissionGrantingStrategy へのデリゲート。
        次で指定:
        インターフェース AclisGranted 
        パラメーター:
        permission - 必要な権限 (少なくとも 1 つのエントリが必要)
        sids - プリンシパルが保持するセキュリティ ID (少なくとも 1 つのエントリが必要)
        administrativeMode - true がクエリが管理目的であり、ロギングまたは監査(実装でサポートされている場合)を行わないことを示す場合
        戻り値:
        認可が付与されている場合、 true
        例外:
        UnloadedSidException - ACL が SID のサブセットに対してのみロードされたため、渡された SID がこの ACL に認識されていない場合
        NotFoundException - 通常、この特定の権限や SID の ACL 情報がないために、実装が正式な認可を決定できない場合にスローする必要があります。
        関連事項:
        DefaultPermissionGrantingStrategy
      • isSidLoaded

        public boolean isSidLoaded​(java.util.List<Sid> sids)
        インターフェースからコピーされた説明: Acl
        効率上の理由から、Acl が読み込まれ、システム内のすべての Sid のエントリが含まれていない場合があります。ACL がロードされていると、すべてシドを表していない場合は、ACL をすべての方法は、それが実際に表しシドインスタンスの限られた範囲内で使用することができます。

        読み取り専用の認可決定が行われている場合、特定の Sid に対してのみ Acl をロードするのは正常です。ただし、 Acl のユーザーインターフェースレポートまたは変更が必要な場合は、 Acl にすべての Sid をロードする必要があります。このメソッドは、指定された Sid がロードされているかどうかを示します。

        次で指定:
        インターフェース AclisSidLoaded 
        パラメーター:
        sids - 発信者がこの Sid がサポートしているかどうかを知ることに関心がある 1 つ以上のセキュリティ ID
        戻り値:
        渡されたすべての Sid がこの Acl インスタンスによって表される場合、 true
      • setEntriesInheriting

        public void setEntriesInheriting​(boolean entriesInheriting)
        インターフェースからコピーされた説明: MutableAcl
        Acl.isEntriesInheriting() によって返される値を変更します。
        次で指定:
        インターフェース MutableAclsetEntriesInheriting 
        パラメーター:
        entriesInheriting - 新しい価値
      • setOwner

        public void setOwner​(Sid newOwner)
        インターフェースからコピーされた説明: MutableAcl
        現在の所有者を別の所有者に変更します。
        次で指定:
        インターフェース MutableAclsetOwner 
        次で指定:
        インターフェース OwnershipAclsetOwner 
        パラメーター:
        newOwner - 新しい所有者 (必須。null にすることはできません)
      • getOwner

        public Sid getOwner()
        インターフェースからコピーされた説明: Acl
        Acl の所有者を決定します。所有権の意味は実装によって異なり、不定です。
        次で指定:
        インターフェース AclgetOwner 
        戻り値:
        所有者 (実装が所有権の概念を使用しない場合、 null になる可能性があります)
      • setParent

        public void setParent​(Acl newParent)
        インターフェースからコピーされた説明: MutableAcl
        この ACL の親を変更します。
        次で指定:
        インターフェース MutableAclsetParent 
        パラメーター:
        newParent - 新しい親
      • getParentAcl

        public Acl getParentAcl()
        インターフェースからコピーされた説明: Acl
        ドメインオブジェクトは、ACL 継承のために親を持つ場合があります。親が存在する場合、その ACL はこのメソッドを介してアクセスできます。次に、親の親(祖父母)にアクセスできます。

        このメソッドは、親 Acl とこの Acl の間のナビゲーション階層の存在のみを表します。実際の継承を行うには、Acl.isEntriesInheriting() true である必要があります。

        Acl Sid のサブセットのみを表す場合でも、このメソッドは正しく動作する必要があります。 Sid のサブセットのみが表現されている場合、呼び出し元は結果を正しく処理する必要があります。

        次で指定:
        インターフェース AclgetParentAcl 
        戻り値:
        親の Acl (この Acl に親がない場合、 null になる可能性があります)
      • updateAuditing

        public void updateAuditing​(int aceIndex,
                                   boolean auditSuccess,
                                   boolean auditFailure)
        次で指定:
        インターフェース AuditableAclupdateAuditing 
      • equals

        public boolean equals​(java.lang.Object obj)
        オーバーライド:
        クラス java.lang.Objectequals 
      • hashCode

        public int hashCode()
        オーバーライド:
        クラス java.lang.ObjecthashCode 
      • toString

        public java.lang.String toString()
        オーバーライド:
        クラス java.lang.ObjecttoString