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

トップ >ドキュメント >データストア(Obj-C):アクセス権限設定

データストア(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以上

ページの先頭へ