我有两个sailsjs应用程序在同一台机器上运行(本地),第一个为第二个提供REST端点。我使用相同的浏览器与两个应用程序进行交互。应用程序在不同的端口上运行。
问题是,每次我从浏览器访问一个应用程序时,另一个应用程序的会话都会丢失,每次我使用浏览器测试REST端点时都要求我登录。我尝试为两个应用程序设置相同的会话密码作为一个疯狂的猜测,但它不起作用。
有没有办法解决这个问题?
我使用的是Firefox,应用程序托管在localhost:9999和localhost:1337上。
提前致谢。
答案 0 :(得分:0)
您可以将会话存储在数据库中,这就是connect-mongo
所做的事情。我相信你也可以为风帆找到类似的东西。
答案 1 :(得分:0)
问题是Sails默认为每个应用程序使用相同的cookie名称/密钥(' sails.sid')。访问不同的Sails应用程序使浏览器覆盖相同的会话cookie,从而导致描述的条件。
更改每个应用程序的密钥解决了问题。
在config/session.js
中,添加key
属性并将其设置为特定于应用的内容,以避免使用sails.sid
。