サーバー構築不要!スマートフォンアプリ向けの新クラウド

トップ >ドキュメント >会員管理・認証(Obj-C):会員のグルーピング

会員管理・認証(Obj-C)

会員のグルーピング

概要

このページでは、ニフクラ mobile backendに登録されている会員を
グルーピングするための機能であるロールについて説明していきます。

アプリでロールを管理する

ロールの作成

ロールを作成する場合は、NCMBRoleクラスを利用します。

//ロールの作成
NCMBRole *freePlanRole = [NCMBRole roleWithName:@"freePlan"];
[freePlanRole saveInBackgroundWithBlock:nil];

NCMBRole *silverPlanRole = [NCMBRole roleWithName:@"silverPlan"];
[silverPlanRole saveInBackgroundWithBlock:nil];

会員をロールに追加する
//ユーザーを作成
NCMBUser *user = [NCMBUser user];
[user setUserName:@"goldUser"];
[user setPassword:@"pass"];
[user signUp:nil];

//登録済みユーザーをロールに追加
NCMBRole *role = [NCMBRole roleWithName:@"goldPlan"];
[role addUser:user];
[role save:nil];

会員をロールから削除する

ロールではリレーション型で会員オブジェクトを参照しています。
リレーション型では、参照先の会員が削除されたとき、リレーション型内部の当該オブジェクトへの参照ポインタは削除されません。
このため、ロールに所属している会員を削除する場合、事前にロールから外す必要があります。

以下のサンプルはgoldPlanロールに属しているgoldUserを削除するサンプルです。

NCMBQuery *userQuery = [NCMBQuery queryWithClassName:@"user"];
[userQuery whereKey:@"userName" equalTo:@"goldUser"];
[userQuery findObjectsInBackgroundWithBlock:^(NSArray *users, NSError *error) {

   //会員削除する前にロールから会員を取り外す
   NCMBQuery *query = [NCMBQuery queryWithClassName:@"role"];
   [query whereKey:@"roleName" equalTo:@"goldPlan"];
   [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
      NCMBRole *role = [objects objectAtIndex:0];
      [[role relationForRole] removeObject:[users objectAtIndex:0]];
      [role save:nil];
   }];

   //会員を削除する
   for (NCMBObject *obj in users) {
      [obj deleteInBackgroundWithBlock:^(NSError *error) {
         //エラー時
      }];
   }
}];

子ロールの追加
NCMBRole *administrators = [NCMBRole roleWithName:@"Administrators"];
NCMBRole *moderators = [NCMBRole roleWithName:@"Moderators"];
[moderators addRole:administrators];
[moderators save:nil];

管理画面でロールを管理する

ロールを作成する

ロールを作成するには、会員管理の画面から編集ボタンをクリックしてロールの作成を選択します。

ロール名を入力します。

ロールが作成されました。

ロールを削除する

削除したいロール名の右側にある編集ボタンをクリックして、ロールの削除を選択します。

確認画面で削除するボタンをクリックします。

ロールが一覧から表示されなくなり、削除されました。

子ロールを追加する

子ロールを追加したいロール名の横にある編集ボタンをクリックして、ロール詳細を選択します。

そのロールに追加されている子ロールの一覧画面が開きますので、追加ボタンを選択します。

子ロールとして追加したいロールを選択し追加ボタンをクリックします。

子ロールが追加されました。横にある削除ボタンをクリックすれば、子ロールが削除されます。
(子ロールだったロール自体は削除されません。)

ロールオブジェクトのパーミッションを編集する

子ロール追加時のようにロールの詳細を開くと、右上にパーミッションの編集ボタンがあるのでクリックします。
ロールオブジェクトのパーミッションを編集する
パーミッション編集画面が開くので、設定を変更したら保存ボタンをクリックしてください。
パーミッション変更画面

ロールクラスのパーミッションを編集する

ロールクラスの編集は編集タブからロールクラスの編集を選択します。

パーミッションの変更は右上のパーミッションの設定ボタンを選択します。

変更対象にパーミッションの処理を行うことができます。変更を保存で変更されます。

お探しの内容が見つからなかった場合はユーザーコミュニティ もご活用ください。(回答保証はいたしかねます)
なお、 Expertプラン以上のお客様はテクニカルサポートにてご質問を承らせて頂きます。

推奨画面サイズ1024×768px以上

ページの先頭へ