6. グループ管理¶
ここではグループ管理機能の利用方法について説明します。
6.1. グループの作成¶
最初にグループオブジェクトを作成します。
// NbService, グループ名を指定して NbGroup を生成
NbGroup group1 = new NbGroup(mService, "group1");
次に、addUser(), addGroup() を使用して、グループにユーザおよびグループを追加し、save() でサーバに保存します。
group1.addUser("123456789abcdef123456"); // ユーザ追加
group1.addGroup("group2");
group1.save(new NbCallback<NbGroup>() {
....
});
追加するユーザはユーザID(ユーザ名ではない)を、グループはグループ名を指定します。
グループには、以下の予約グループを追加することもできます。
- authenticated: 全認証済ユーザ
- anonymous: 未認証ユーザを含む全ユーザ
6.2. アクセス制御¶
グループ単位でアクセス制御を行うことができます。 アクセス権を設定する場合は setAcl() を使用し、 save() で保存します。
NbAcl acl = new NbAcl();
acl.addEntry(NbAclPermission.READ, "g:anonymous");
group1.setAcl(acl);
group1.save(...);
ACL の詳細については「デベロッパーマニュアル」の「セキュリティ:ACL」の節をご覧ください。
6.3. グループの取得¶
グループ一覧を取得するには、query() を使用します。
// グループ一覧取得
NbGroup.query(new NbCallback<List<NbGroup>>() {
@Override
public void onSuccess(List<NbGroup> groups) {
...
}
@Override
public void onFailure(int status, NbErrorInfo errorInfo) {
...
}
});
結果は NbGroup クラスの List で返却されます。
特定のグループを取得するには、getGroup() を使用します。 第1引数に検索したいグループ名を指定します。
// グループ情報取得
NbGroup.getGroup("group2", new NbCallback<List<NbGroup>>() {
@Override
public void onSuccess(List<NbGroup> groups) {
...
}
@Override
public void onFailure(int status, NbErrorInfo errorInfo) {
...
}
});
6.4. グループの更新¶
ユーザを更新するには、グループを検索し、addUser() / removeUser() など を使用してエントリの変更を行い、save() で更新します。
6.5. グループの削除¶
グループを削除するには、delete() を使用します。
NbGroup group = new NbGroup("group2");
// グループ削除
group.delete(new NbResultCallback() {
@Override
public void onSuccess() {
...
}
@Override
public void onFailure(int status, NbErrorInfo errorInfo) {
...
}
});