オブジェクト・ストア・アクセス権限の設定
オブジェクト・ストアに関連付けられているアクセス権限により、そのオブジェクト・ストア内のオブジェクトへのユーザーのアクセス・レベルが制御されます。
次に示すコード例では、ユーザー CEMPAdmin に対し、このオブジェクト・ストアのドキュメントを操作するフル・コントロール権限が付与されます。 フル・コントロールを付与することは、指定されたユーザーに対し、オブジェクト・ストアへの接続、オブジェクトの保存、オブジェクトの変更、オブジェクトの除去の許可を付与することです。
Java の例
// アクセス権を設定
public static void setAccessRights(
Domain domain,
String granteeName, // 例: "CEMPAdmin"
String objStoreName) // 例: "ObjectStore1"
{
final int ACCESS_REQUIRED = AccessRight.WRITE_ANY_OWNER.getValue() |
AccessRight.REMOVE_OBJECTS.getValue() | AccessRight.STORE_OBJECTS.getValue() |
AccessRight.CONNECT.getValue() | AccessRight.WRITE_ACL.getValue() |
AccessRight.READ_ACL.getValue() | AccessRight.MODIFY_OBJECTS.getValue();
// 新しいアクセス権限オブジェクトを作成する
AccessPermission ap = Factory.AccessPermission.createInstance();
// アクセス権を設定
ap.set_GranteeName(granteeName);
ap.set_AccessType(AccessType.ALLOW);
ap.set_AccessMask(new Integer(ACCESS_REQUIRED));
// 新しい許可の設定と保存
ObjectStore objStore = Factory.ObjectStore.fetchInstance(domain, objStoreName, null);
AccessPermissionList apl = objStore.get_Permissions();
apl.add(ap);
objStore.set_Permissions(apl);
objStore.save(RefreshMode.REFRESH);
}
C# の例
// アクセス権を設定
public static void SetAccessRights(
IDomain domain,
String granteeName, // 例: "CEMPAdmin"
String objStoreName) // 例: "ObjectStore1"
{
const int ACCESS_REQUIRED = (int)AccessRight.WRITE_ANY_OWNER |
(int)AccessRight.REMOVE_OBJECTS | (int)AccessRight.STORE_OBJECTS |
(int)AccessRight.CONNECT | (int)AccessRight.WRITE_ACL |
(int)AccessRight.READ_ACL | (int)AccessRight.MODIFY_OBJECTS;
// 新しいアクセス権限オブジェクトを作成する
IAccessPermission ap = Factory.AccessPermission.CreateInstance();
// アクセス権を設定
ap.GranteeName = granteeName;
ap.AccessType = AccessType.ALLOW;
ap.AccessMask = (Int32)ACCESS_REQUIRED;
// 新しい許可の設定と保存
IObjectStore objStore = Factory.ObjectStore.FetchInstance(domain, objStoreName, null);
objStore.Permissions.Add(ap);
objStore.Save(RefreshMode.REFRESH);
}