Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 使用sails.js访问套接字请求上的会话_Node.js_Socket.io_Sails.js - Fatal编程技术网

Node.js 使用sails.js访问套接字请求上的会话

Node.js 使用sails.js访问套接字请求上的会话,node.js,socket.io,sails.js,Node.js,Socket.io,Sails.js,使用io.socket发出客户端请求时,例如 io.socket.post('activity/subscribe') 在sails中没有附加到请求对象的会话信息导致身份验证策略失败 这不是跨域请求,已设置sails.sid cookie。我使用redis作为会话存储,对于XHR请求,会话被正确填充 我的理解是,sails处理套接字的集成,以便当一个请求到达应用程序的路由时,它可以像其他任何请求一样被处理 我已经查看了中的答案,但由于未定义req.socket.manager,因此失败。 也许

使用io.socket发出客户端请求时,例如

io.socket.post('activity/subscribe')
在sails中没有附加到请求对象的会话信息导致身份验证策略失败

这不是跨域请求,已设置sails.sid cookie。我使用redis作为会话存储,对于XHR请求,会话被正确填充

我的理解是,sails处理套接字的集成,以便当一个请求到达应用程序的路由时,它可以像其他任何请求一样被处理

我已经查看了中的答案,但由于未定义req.socket.manager,因此失败。 也许是旧版的帆?v0.11.0中的Am

发送post请求后,我在控制台中看到以下内容:

verbose: Receiving incoming message from Socket.io:  { method: 'post',
  headers: {},
  data: {},
  url: 'activity/subscribe' }
verbose: Interpreting socket.io message as virtual request to "post activity/subscribe"...
error: policy error here as no session..

我们终于明白了

“活动/订阅”-不好


“/activity/subscribe”-耶

这肯定会奏效!您的控制台中有任何消息吗?@sgress454已更新问题。首次启动Sails时有任何消息吗?试试
扬帆——愚蠢的
。另外,我假设您也在使用Redis进行会话?否则,请确保在提升服务器之前关闭指向该站点的所有浏览器选项卡/窗口,否则将导致套接字连接不指向有效会话。