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

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

会員管理・認証(Unity)

会員のグルーピング

概要

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

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

ロールの作成

ロールの作成は、ロール名を決めて保存するだけです。
データ保存時と同じようにSaveAsyncメソッドを用いると、
非同期処理でロールを登録することができます。

NCMBRole silverPlanRole = new NCMBRole ("silverPlan");
silverPlanRole.SaveAsync ();

すでに保存してあるロール名で新規保存すると重複エラーになります

会員をロールに追加する
NCMBUser goldUser = new NCMBUser ();
goldUser.UserName = "goldUser";
goldUser.Password = "pass";
goldUser.SignUpAsync ((NCMBException e) => {
    if (e != null) {
        //エラー処理
    } else {
        // 保存済みのロールに作成したユーザーを追加
        NCMBRole.GetQuery ().WhereEqualTo ("roleName", "goldPlan").FindAsync ((roleList, error) => {
            NCMBRole role = roleList.FirstOrDefault ();
            if (role != null) {
                role.Users.Add (goldUser);
                role.SaveAsync ();
            }
        });
    }
});

※ユーザーをロールに追加する際は、追加するユーザーが保存済である必要があります

子ロールの追加
NCMBRole silverRole = new NCMBRole ("silverRole");
silverRole.SaveAsync ((NCMBException saveError) => {
    if (saveError != null) {
        // エラー処理
    } else {
        // 保存済みのロールに作成したロールを追加
        NCMBRole.GetQuery ().WhereEqualTo ("roleName", "bronzeRole").FindAsync ((roleList, findError) => {
            if (findError != null) {
                // エラー処理
            } else {
                NCMBRole bronzeRole = roleList.FirstOrDefault ();
                if (bronzeRole != null) {
                    bronzeRole.Roles.Add (silverRole);
                    bronzeRole.SaveAsync ();
                }
            }
        });
    }
});

※子ロールを親ロールに追加する際は、子ロールが保存済である必要があります

ロールの検索

NCMBObject同様クエリで検索可能です。

NCMBQuery<NCMBRole> query = NCMBRole.GetQuery ();
query.WhereEqualTo ("roleName", "silverPlan");
query.FindAsync ((List<NCMBRole> roleList,NCMBException e) => {
    if (e != null) {
        //エラー処理
    } else {
        foreach (NCMBRole role in roleList) {
            Debug.Log ("roleName:" + role.Name);
        }
    }
});

所属する子ロール、または会員を検索する事もできます。

//所属ロールの検索
NCMBQuery<NCMBRole> query = bronzeRole.Roles.GetQuery ();
query.FindAsync ((List<NCMBRole> roleList,NCMBException e) => {
    if (e != null) {
        //エラー処理
    } else {
        //成功時の処理
        foreach (NCMBRole role in roleList) {
            Debug.Log ("roleName:" + role.Name);
        }
    }
});

//所属ユーザーの検索
NCMBQuery<NCMBUser> query = goldPlanRole.Users.GetQuery ();
query.FindAsync ((List<NCMBUser> userList,NCMBException e) => {
    if (e != null) {
        //エラー処理
    } else {
        //成功時の処理
        foreach (NCMBUser user in userList) {
            Debug.Log ("userName:" + user.UserName);
        }
    }
});

ユーザーの検索時は、検索対象のユーザーに付与されているACL設定にご注意ください。
ユーザー新規作成時にACLの設定を付与しない場合(デフォルト)は、自分自身のみ読込、書込権限が与えられているので、
検索をかける時は、検索者に対して読込権限が与えられている必要があります。

ロールの削除

ロールを削除する場合は、DeleteAsyncメソッドを利用します。

silverPlanRole.DeleteAsync ((NCMBException e) => {

    if (e != null) {
        //エラー処理
    } else {
        //成功時の処理
    }
});

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

ロールを作成する

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

ロール名を入力します。

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

ロールを削除する

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

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

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

子ロールを追加する

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

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

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

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

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

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

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

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

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

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

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

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

ページの先頭へ