クラス AclImpl

java.lang.ObjectSE
org.springframework.security.acls.domain.AclImpl
実装されたすべてのインターフェース:
SerializableSEAclAuditableAclMutableAclOwnershipAcl

public class AclImpl extends ObjectSE implements Acl, MutableAcl, AuditableAcl, OwnershipAcl
Acl の基本実装。
関連事項:
  • コンストラクターの詳細

    • AclImpl

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

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

    • deleteAce

      public void deleteAce(int aceIndex) throws NotFoundException
      次で指定:
      インターフェース MutableAcldeleteAce 
      例外:
      NotFoundException
    • insertAce

      public void insertAce(int atIndexLocation, Permission permission, Sid sid, boolean granting) throws NotFoundException
      次で指定:
      インターフェース MutableAclinsertAce 
      例外:
      NotFoundException
    • getEntries

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

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

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

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

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

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

      public SerializableSE 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(ListSE<Permission> permission, ListSE<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 情報がないために、実装が正式な認可を決定できない場合にスローする必要があります。
      関連事項:
    • isSidLoaded

      public boolean isSidLoaded(ListSE<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 になる可能性があります)
    • updateAce

      public void updateAce(int aceIndex, Permission permission) throws NotFoundException
      次で指定:
      インターフェース MutableAclupdateAce 
      例外:
      NotFoundException
    • updateAuditing

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

      public boolean equals(ObjectSE obj)
      オーバーライド:
      クラス ObjectSEequalsSE 
    • hashCode

      public int hashCode()
      オーバーライド:
      クラス ObjectSEhashCode 
    • toString

      public StringSE toString()
      オーバーライド:
      クラス ObjectSEtoString