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

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

会員管理・認証(JavaScript & Monaca)

会員のグルーピング

概要

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

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

ロールの作成

コンストラクタにロール名を入力してインスタンスを生成し、保存します。

var ncmb = new NCMB(apikey, clientkey);

var freePlanRole = new ncmb.Role("freePlan");
freePlanRole.save()
            .then(function(){
              // 非同期処理
            })
            .catch(function(err){
              // エラー処理
            });

var silverPlanRole = new  ncmb.Role("silverPlan");
silverPlanRole.save(function(err, role){
    // コールバック処理
  });

会員をロールに追加する

addUserで会員を追加して保存することで、ロールに所属させることができます。
Userインスタンスの配列を入力することで、一度に複数の会員を追加することもできます。

所属している会員をロールから外す場合にはremoveUserに会員を入力して保存します。

var user = new ncmb.User({userName:"goldUser", password:"pass"});
user.signUpByAccount().then(function(user){
  //既存のロールを検索
  ncmb.Role.equalTo("roleName","goldPlan").fetch().then(function (role){
    if (JSON.stringify(role) === "{}") {
      //ロールが存在しない場合
    } else {
      //会員をロールに追加
      role.addUser(user).update().then(function (role){
        //成功した場合の処理
      }).catch(function(err) {
        //失敗した場合の処理
      });
    }
  }).catch(function (err){
    //検索に失敗した場合
  });
}).catch(function(err) {
  //会員登録に失敗した場合の処理
});

子ロールの追加

addRoleでロールを追加して保存することで、ロールに別のロール(子ロール)を所属させることができます。
Roleインスタンスの配列を入力することで、一度に複数の子ロールを追加することもできます。

所属している子ロールをロールから外す場合にはremoveRoleに子ロールを入力して保存します。

var subRole = new ncmb.Role("subRole").save().then(function (sub) {
  ncmb.Role.equalTo("roleName","goldPlan").fetch().then(function (role){
    if (JSON.stringify(role) === "{}") {
      //ロールが存在しない場合
    } else {
      //子ロールを追加
      role.addRole(sub).update().then(function (role){
        //成功した場合の処理
      }).catch(function(err) {
        //失敗した場合の処理
      });
    }
  }).catch(function (err){
    //ロールの検索に失敗した場合の処理
  });
}).catch(function(err) {
  //子ロールの保存に失敗した場合の処理
});

会員・子ロールの取得

fetchUser/fetchRoleを実行することで、所属している会員・子ロールを取得することができます。

ncmb.Role.fetch()
         .then(function(role){
           return role.fetchUser();
          })
         .then(function(users){
            for (var i = 0; i < users.length; i++) {
              var user = users[i];
              console.log (user.userName);
            }
          })
         .catch(function(err){
            // エラー処理
          });

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

ロールを作成する

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

ロール名を入力します。

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

ロールを削除する

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

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

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

子ロールを追加する

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

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

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

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

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

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

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

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

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

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

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

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

ページの先頭へ