次のように、特定のフォルダーのグループとユーザーのアクセス許可を表す文字列を取得できます。
コード
// assumes Core Service client "client"
var folderData = client.Read("tcm:5-26-2", new ReadOptions()) as FolderData;
var accessControlEntryDataArray =
folderData.AccessControlList.AccessControlEntries;
Console.WriteLine(folderData.Title);
foreach (var accessControlEntryData in accessControlEntryDataArray)
{
Console.WriteLine("{0} has {1}",
accessControlEntryData.Trustee.Title,
accessControlEntryData.AllowedPermissions.ToString());
}
出力
一部のフォルダ
全員が読み取りを
持っている 編集者が持っていない 編集長が持っていない パブリケーションマネージャが持っていない インタラクションマネージャが持っていないT2011 -CB-R2\areyesがすべて 持って いる、削除 [権利]作成者-コンテンツになし
`AllowedPermissionsの4つの可能な値は次のようです。
None
Read
Read, Write
Read, Write, Delete
All
これは、フォルダのアクセス許可レポートを作成するユースケースに最適です。私は.Replace()
これらをおなじみの表記法(例えばrw--
またはrwdl
)にできます。
しかし、これらの値を操作することは、権限を設定string
するための正しいアプローチでもありますか?代わりにオブジェクトまたは列挙型が必要だと思います。誰かが私を正しい方向に向けることができますか?
また、一部のグループが設定されていることに気付きましたが、すべての該当しないグループがに設定されているわけではありませんNone
。ここでは特に必要ありませんが、それらが返されるかどうかを決定するものに興味があります-コードに何かが欠けていましたか?