6. グループ管理¶
ここではグループ管理機能の利用方法について説明します。
6.1. グループの作成¶
最初にグループオブジェクトを作成します。
var group1 = new NbGroup("group1");
次に、グループの Users, Groups プロパティにそれぞれユーザおよびグループを追加し、SaveAsync() でサーバに保存します。
group1.Users.Add("123456789abcdef123456"); // ユーザ追加
group1.Groups.Add("group2"); // グループ追加
var resultGroup = await group1.SaveAsync();
追加するユーザはユーザID(ユーザ名ではない)を、グループはグループ名を指定します。
グループには、以下の予約グループを追加することもできます。
- authenticated: 全認証済ユーザ
- anonymous: 未認証ユーザを含む全ユーザ
6.2. アクセス制御¶
グループ単位でアクセス制御を行うことができます。 アクセス権を設定する場合は Acl プロパティに設定し、SaveAsync() で保存します。
NbAcl acl = new NbAcl();
acl.R.Add("g:anonymous"); // 読み取り権限
group1.Acl = acl;
await group1.SaveAsync();
ACL の詳細については「デベロッパーマニュアル」の「セキュリティ:ACL」の節をご覧ください。
6.3. グループの取得¶
グループ一覧を取得するには、QueryGroupAsync() を使用します。 結果は IEnumerable<NbGroup> で返却されます。
// グループ一覧取得
var groups = await NbGroup.QueryGroupAsync();
foreach (var group in groups) {
...
}
特定のグループを取得するには、GetGroupAsync() を使用します。 第1引数に検索したいグループ名を指定します。
// グループ情報取得
var group = await NbGroup.GetGroupAsync("group2");
6.4. グループの更新¶
ユーザを更新するには、グループを検索し、Users / Groups プロパティを を使用してエントリの変更を行い、SaveAsync() で更新します。
6.5. グループの削除¶
グループを削除するには、DeleteAsync() を使用します。
var group = await NbGroup.GetGroupAsync("group2");
await group.DeleteAsync();