monacaのcordovaでニフクラ mbaasのUser Aclの権限設定
タイトルが長くなってしまった。
monacaのcordovaでニフクラ mbaasを使っている時の話。
Userクラスに登録されている各会員のAcl(パーミッション)をプログラムから変更したい場合どうすればいいのだろうか?
実は、ドキュメントにもこの部分についてのプログラムベースの記載がなかったりする。
Userクラス以外のデータストアを使ったクラスにおいてAclの設定については書いてあるが、あくまでUserクラスについての詳細はない。
そこで色々と試行錯誤した結果、setメソッドでAclの設定を行い、updateメソッドで更新することが判明した。
サンプルを書く。
条件
あるユーザーの情報が誰でも読み取り可能。
更新権限は、自分自身のみ。
var _username; var _password; ncmb.User.login(_username, _password).then(function(user) { var acl = new ncmb.Acl(); acl.setPublicReadAccess(true); acl.setUserWriteAccess(user,true); user.update().then(function(user) { }).catch(function(error) { }); }).catch(function(error){ });
当然と言えば当然なのだが、aclのメソッドを正しく設定しないとエラーが走ってしまい更新できないようだ。