1

簡単な権限システムを作成しています。Socket.IO を介してリクエストを送信する必要があり、ユーザーは true (受け入れ) または false (拒否) で応答を送信するだけです。

今回は次のことを行いました。

socket.on('initModule', function (out) {
   io.sockets.in('permissions').emit('permissionRequest', {
      uniqid : out.appid,
      // Something goes here, no one really cares.
   });
});

socket.on('permissionReturn', function(output){ 
   if(output.status)
      module.exports.modules[out.module](out.data, function(res){
         if(res.status == "ok")
            sendResponse(socket, out.module, 'ok', res.response);
         else if(res.status == 'error')
            sendResponse(socket, out.module, 'error', res.response);
      });
   else
      sendResponse(socket, out.module, 'error', "Not permitted");
});

「permissionReturn」イベントには「out」変数がありますが、それは「initModule」にあります。移動用のグローバル変数を作成している間、それは未定義を返します。「permissionReturn」イベントを「initModule」に移動すると、機能しません。socket.io を介して変数を送信し、イベントを介して読み取ることは安全ではありません。それで...どうすれば修正できますか?

4

0 に答える 0