1

AWS と Mongolab を使用して、解析サーバーから解析サーバーに切り替えました。現在、サーバーのmain.jsのクラウ​​ド部分にいくつかの検証を書き込もうとしています。

以下のコードを追加した後、これはクラス「posts」に保存する前の検証です。ログインしているユーザーのユーザー名が指定された値と等しいかどうかを確認したい。ただし、これを追加した後、ログインに使用したユーザーでアプリにログインしないようにします。パスワードまたはユーザー名が間違っていると表示されます。

  Parse.Cloud.beforeSave('posts', function (req, res) {

  var uname = 'xxxxx';

   var user = Parse.User.current();
  user.fetch().then(function(fetchedUser){
  uname = fetchedUser.getUsername();    
   }, 
  );

  if (uname != 'michael') {
   res.error('This user is not allowed');

   } else {
   res.success();
   }

   });

以下のクラウド コードも使用していますが、正常に動作しています。

 Parse.Cloud.beforeSave('tweets', function (req, res) {

 if (req.object.get('name') != 'jeniffer') {
 res.error('This user is not allowed');

 } else {
   res.success();
 }

 });
4

1 に答える 1

3

コードには主に 2 つの問題があります。まず、Parse.User.current() を一緒に使用することはできません。次に、promiseparse-serverの構文が少し間違っています。代わりにこれを試してください:

Parse.Cloud.beforeSave('posts', function (req, res) {
  req.user.fetch().then(function(fetchedUser){
    var uname = fetchedUser.getUsername();
    if (uname !== 'michael') {
      res.error('This user is not allowed');
    } else {
      res.success();
    }
  }, function(err) {
    res.error(err);
  });
});

また、posts奇妙なコレクション名のように聞こえます。おそらくである必要がありますPost

于 2016-02-26T23:45:56.343 に答える