コア サービスを使用して OrganizationalItemData オブジェクトの権限設定のリストを作成しており、CME で権限を明示的に設定するタイミングを確認するためのヘルプを探しています。
質問
組織アイテムが与えられ、その共有、ローカライズ、およびアクセス許可の継承設定がわかっている場合、(CME のProperties
>でSecurity
) アクセス許可を明示的に設定する必要があるのはいつですか?
API の詳細
以下OrganizationalItemData orgItem
を確認できるとします(ドキュメントの詳細を参照)。
IsShared
アイテムが現在のコンテキスト Publication で共有されているかどうかを取得または設定します。IsLocalized
項目が現在のコンテキスト Publication でローカライズされているかどうかを取得または設定します。IsPermissionsInheritanceRoot
項目自体に権限が指定されている場合は true 。それ以外の場合は false、アイテムが親アイテムからアクセス許可を継承する場合。
サンプルコード
コア サービスを使用して、特定の CMS の権限設定を確認できます。例えば:
var CreatedHere = !orgItem.BluePrintInfo.IsShared.GetValueOrDefault();
var IsLocalized = orgItem.BluePrintInfo.IsLocalized.GetValueOrDefault();
var PermissionsFromParent = !orgItem.IsPermissionsInheritanceRoot.GetValueOrDefault();
特定の組織アイテムのアクセス許可を出力したいと考えていますが、CMS 管理者が実際にパブリケーションでプロパティを設定する必要がある場合の指示も出力したいと考えています。たとえば、CMS Test に対してスクリプトを使用して、CMS Production が必要とする可能性があるものを示すことができます。
シナリオ
これがその真相です(と思います)。
Shared Local(ized) PermissionsRoot Set here?
No No No No, set in parent in this Publication.
No No Yes Yes, set in this "local" item.
No Yes No Not possible. Can't localize non-shared item.
No Yes Yes Not possible. Can't localize non-shared item.
Yes No No No, set in parent item in higher Publication.
Yes No Yes No, set in this item but in a higher publication.
Yes Yes No No, set in parent item in this Publication.
Yes Yes Yes Yes
これらのオプションについての私の理解は間違っているかもしれませんが、これまでのところ、明示的に権限を設定する必要があるのは次の 2 つのシナリオだけです。
- パーミッション ルートである非共有 (ローカル) アイテムの場合 (
Inherit Security Settings from Parent
オフ) - パーミッション ルートである、ローカライズされた共有アイテムの場合。
適切なシナリオがありますか、または上記の 2^3 シナリオで何か不足していますか?