会員管理・認証(Unity)
会員のグルーピング
Contents |
概要
このページでは、ニフクラ 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以上