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