データストア(Obj-C)
アクセス権限設定
概要
このページでは、データストアのACL機能を利用して各データのアクセス権限を
会員やロールごとに設定する方法を解説していきます。
データごとのACL設定
アプリ側でACLを設定する
ACLを設定する場合は、NCMBACLクラスを利用します。
//ACLオブジェクトを作成
NCMBACL *acl = [NCMBACL ACL];
//読み込み・検索を全開放
[acl setPublicReadAccess:YES];
NCMBObject *obj = [NCMBObject objectWithClassName:@"aclTest"];
//オブジェクトにACLを設定
[obj setACL:acl];
NSError *e = nil;
[obj save:&e];
上のサンプルコードでは、全会員に対してのACL設定を行っていますが、
会員やロールを対象にACLを設定することも可能です。
このとき、会員やロールは登録が済んでおりobjectIdを持っている必要があります。
NCMBObject *sharedNote = [NCMBObject objectWithClassName:@"Note"];
[sharedNote setObject:@"This note is shared!" forKey:@"content"];
//NCMBACLのインスタンスを作成
NCMBACL *groupACL = [NCMBACL ACL];
NCMBUser *user = [NCMBUser user];
user.userName = @"user";
user.password = @"password3";
[user signUp:nil];
//引数で渡された会員userへの読み込み権限を設定する
[groupACL setReadAccess:YES forUser:user];
//引数で渡された会員userへの書き込み権限を設定する
[groupACL setWriteAccess:YES forUser:user];
//ACLをオブジェクトに設定する
[sharedNote setACL:groupACL];
許可権限を設定する場合は、必ずtrue値の設定が必要となります。
false値の設定は反映されません。
一つの権限でもtrue値を設定されますと、他の権限はすべてfalseとなります。
デフォルトACLについてはREST APIにてご確認ください。
管理画面でACLを設定する
管理画面からパーミッションを設定するにはデータストアを開きます。
各レコードの右側にあるパーミッション編集ボタンをクリックします。
パーミッション設定画面が表示されますので、「+新しいパーミッション」ボタンをクリックして、パーミッションを設定してください。
レコードのパーミッションは、各行の左側にあるチェックボックスをクリックし、削除ボタンをクリックすると削除できます。
クラスのACLを設定する
管理画面からの操作のみ、クラス単位でACLを設定することが可能です。
クラスの編集画面で、右上の「パーミッションの設定」ボタンをクリックします。
ポップアップが表示されるので、「+新しいパーミッション」をクリックしてパーミッションの設定を追加してください。
対象を会員やロールに限定することで、パーミッションを一部の会員に限定することが可能です。
クラスのパーミッションは、各行の左側にあるチェックボックスをクリックし、削除ボタンをクリックすると削除できます。
お探しの内容が見つからなかった場合はユーザーコミュニティ
もご活用ください。(回答保証はいたしかねます)
なお、 Expertプラン以上のお客様はテクニカルサポートにてご質問を承らせて頂きます。
推奨画面サイズ1024×768px以上