クラス AclImpl
- java.lang.Object
-
- org.springframework.security.acls.domain.AclImpl
- 実装されているすべてのインターフェース:
java.io.Serializable、Acl、AuditableAcl、MutableAcl、OwnershipAcl
public class AclImpl extends java.lang.Object implements Acl, MutableAcl, AuditableAcl, OwnershipAcl
Aclの基本実装。- 関連事項:
- 連載形式
コンストラクターの概要
コンストラクター コンストラクター 説明 AclImpl(ObjectIdentity objectIdentity, java.io.Serializable id, AclAuthorizationStrategy aclAuthorizationStrategy, AuditLogger auditLogger)MutableAclService.createAcl(ObjectIdentity)を使用する必要がある最小のコンストラクター。AclImpl(ObjectIdentity objectIdentity, java.io.Serializable id, AclAuthorizationStrategy aclAuthorizationStrategy, PermissionGrantingStrategy grantingStrategy, Acl parentAcl, java.util.List<Sid> loadedSids, boolean entriesInheriting, Sid owner)フルコンストラクター。フィールドレベルのアクセス機能を提供しない永続化ツールで使用する必要があります。
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 voiddeleteAce(int aceIndex)booleanequals(java.lang.Object obj)java.util.List<AccessControlEntry>getEntries()現在の Acl で表されるすべてのエントリを返します。java.io.SerializablegetId()この MutableAcl を表す識別子を取得します。ObjectIdentitygetObjectIdentity()この Acl がエントリを提供するドメインオブジェクトを取得します。SidgetOwner()Acl の所有者を決定します。AclgetParentAcl()ドメインオブジェクトは、ACL 継承のために親を持つ場合があります。inthashCode()voidinsertAce(int atIndexLocation, Permission permission, Sid sid, boolean granting)booleanisEntriesInheriting()Acl.getParentAcl()からの ACL エントリを現在の Acl に流す必要があるかどうかを示します。booleanisGranted(java.util.List<Permission> permission, java.util.List<Sid> sids, boolean administrativeMode)PermissionGrantingStrategyへのデリゲート。booleanisSidLoaded(java.util.List<Sid> sids)効率上の理由から、Acl が読み込まれ、システム内のすべての Sid のエントリが含まれていない場合があります。voidsetEntriesInheriting(boolean entriesInheriting)Acl.isEntriesInheriting()によって返される値を変更します。voidsetOwner(Sid newOwner)現在の所有者を別の所有者に変更します。voidsetParent(Acl newParent)この ACL の親を変更します。java.lang.StringtoString()voidupdateAce(int aceIndex, Permission permission)voidupdateAuditing(int aceIndex, boolean auditSuccess, boolean auditFailure)
コンストラクターの詳細
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 が関連するオブジェクト IDid- この ACL に割り当てられた主キーaclAuthorizationStrategy- 認可戦略grantingStrategy-isGranted()メソッドで使用されるPermissionGrantingStrategyparentAcl- 親 (nullかもしれません)loadedSids- サブセットのみがロードされた場合、ロードされた SID (nullの場合があります)entriesInheriting- 親からの ACE がこの ACL を継承する必要がある場合owner- 所有者 (必須)
メソッドの詳細
deleteAce
public void deleteAce(int aceIndex) throws NotFoundException- 次で指定:
- インターフェース
MutableAclのdeleteAce - 例外:
NotFoundException
insertAce
public void insertAce(int atIndexLocation, Permission permission, Sid sid, boolean granting) throws NotFoundException- 次で指定:
- インターフェース
MutableAclのinsertAce - 例外:
NotFoundException
getEntries
public java.util.List<AccessControlEntry> getEntries()
インターフェースからコピーされた説明:Acl現在の Acl で表されるすべてのエントリを返します。 Acl の親に関連付けられているエントリは返されません。この方法は通常、管理目的で使用されます。
エントリが配列に現れる順序は、
MutableAclインターフェースで宣言されたメソッドにとって重要です。さらに、一部の実装では、高度な権限チェックの一部として順序を使用する場合があります。認可の決定を行うためにこのメソッドを使用しないでください。代わりに
Acl.isGranted(List, List, boolean)を使用してください。Acl が Sid のサブセットのみを表す場合でも、このメソッドは正しく動作する必要があります。 Sid のサブセットのみが表現されている場合、呼び出し元は結果を正しく処理する必要があります。
- 次で指定:
- インターフェース
AclのgetEntries - 戻り値:
- Acl で表されるエントリのリスト。現在この Acl に関連付けられているエントリがない場合は null 。
getId
public java.io.Serializable getId()
インターフェースからコピーされた説明:MutableAclこの MutableAcl を表す識別子を取得します。- 次で指定:
- インターフェース
MutableAclのgetId - 戻り値:
- 識別子。保存されていない場合は null
getObjectIdentity
public ObjectIdentity getObjectIdentity()
インターフェースからコピーされた説明:Aclこの Acl がエントリを提供するドメインオブジェクトを取得します。 Acl が作成されると、これは不変です。- 次で指定:
- インターフェース
AclのgetObjectIdentity - 戻り値:
- オブジェクトのアイデンティティ (決して null )
isEntriesInheriting
public boolean isEntriesInheriting()
インターフェースからコピーされた説明:AclAcl.getParentAcl()からの ACL エントリを現在の Acl に流す必要があるかどうかを示します。Acl と親 Acl の間の単なるリンクだけでは、ACL エントリが継承されません。これは、ドメインオブジェクトは完全に独立したエントリを持ちたいが、ナビゲーションのために親とのリンクを維持する必要があるためです。このメソッドは、ナビゲーション関連がエントリの実際の継承にも及ぶかどうかを示します。
- 次で指定:
- インターフェース
AclのisEntriesInheriting - 戻り値:
- true 親 ACL エントリが現在の Acl を継承する場合
isGranted
public boolean isGranted(java.util.List<Permission> permission, java.util.List<Sid> sids, boolean administrativeMode) throws NotFoundException, UnloadedSidException
PermissionGrantingStrategyへのデリゲート。- 次で指定:
- インターフェース
AclのisGranted - パラメーター:
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 がロードされているかどうかを示します。
- 次で指定:
- インターフェース
AclのisSidLoaded - パラメーター:
sids- 呼び出し元がこの Sid がサポートしているかどうかを知ることに関心がある 1 つ以上のセキュリティ ID- 戻り値:
- 渡されたすべての Sid がこの Acl インスタンスによって表される場合、 true
setEntriesInheriting
public void setEntriesInheriting(boolean entriesInheriting)
インターフェースからコピーされた説明:MutableAclAcl.isEntriesInheriting()によって返される値を変更します。- 次で指定:
- インターフェース
MutableAclのsetEntriesInheriting - パラメーター:
entriesInheriting- 新しい価値
setOwner
public void setOwner(Sid newOwner)
インターフェースからコピーされた説明:MutableAcl現在の所有者を別の所有者に変更します。- 次で指定:
- インターフェース
MutableAclのsetOwner - 次で指定:
- インターフェース
OwnershipAclのsetOwner - パラメーター:
newOwner- 新しい所有者 (必須。null にすることはできません)
setParent
public void setParent(Acl newParent)
インターフェースからコピーされた説明:MutableAclこの ACL の親を変更します。- 次で指定:
- インターフェース
MutableAclのsetParent - パラメーター:
newParent- 新しい親
getParentAcl
public Acl getParentAcl()
インターフェースからコピーされた説明:Aclドメインオブジェクトは、ACL 継承のために親を持つ場合があります。親が存在する場合、その ACL はこのメソッドを介してアクセスできます。次に、親の親(祖父母)にアクセスできます。このメソッドは、親 Acl とこの Acl の間のナビゲーション階層の存在のみを表します。実際の継承を行うには、
Acl.isEntriesInheriting()も true である必要があります。Acl が Sid のサブセットのみを表す場合でも、このメソッドは正しく動作する必要があります。 Sid のサブセットのみが表現されている場合、呼び出し元は結果を正しく処理する必要があります。
- 次で指定:
- インターフェース
AclのgetParentAcl - 戻り値:
- 親の Acl (この Acl に親がない場合、 null になる可能性があります)
updateAce
public void updateAce(int aceIndex, Permission permission) throws NotFoundException- 次で指定:
- インターフェース
MutableAclのupdateAce - 例外:
NotFoundException
updateAuditing
public void updateAuditing(int aceIndex, boolean auditSuccess, boolean auditFailure)- 次で指定:
- インターフェース
AuditableAclのupdateAuditing
equals
public boolean equals(java.lang.Object obj)
- オーバーライド:
- クラス
java.lang.Objectのequals
hashCode
public int hashCode()
- オーバーライド:
- クラス
java.lang.ObjectのhashCode
toString
public java.lang.String toString()
- オーバーライド:
- クラス
java.lang.ObjectのtoString