我正在开发一个仍在开发中的sails应用程序。重新启动sails.js应用程序时保持用户登录
每次我在控制器中进行修改时,都需要使用'sails lift'命令重新启动sails。希望它可以通过使用“永久”工具来缓解,该工具可以检测修改并自动重启。
但是我需要重新登录到我的应用程序中(因为会话在重新启动时丢失了?),这实际上并不方便。
有没有什么办法让用户在重新启动时保存日志?
我正在开发一个仍在开发中的sails应用程序。重新启动sails.js应用程序时保持用户登录
每次我在控制器中进行修改时,都需要使用'sails lift'命令重新启动sails。希望它可以通过使用“永久”工具来缓解,该工具可以检测修改并自动重启。
但是我需要重新登录到我的应用程序中(因为会话在重新启动时丢失了?),这实际上并不方便。
有没有什么办法让用户在重新启动时保存日志?
您可以在本地安装的Redis和安装使用它作为一个会话存储发展connect-redis并添加下列行来配置/ ENV/development.js
module.exports = {
session : {
adapter: 'redis'
}
}
这样的会话的数据未存储在存储器中并且不从帆影响重新启动
最后,我跟随了Or Bachar的评论,所以会议现在在DB中持久化。 我安装了mongoDB(和节点依赖项),并编辑了config/session.js。它工作正常。 但我会尝试解决方案,只有在开发模式下才有这种行为。 –
我没有测试它,但如果你是在开发模式,这样你就可以创建自动登录你的用户的策略:
/api/policies/autolog.js
module.exports = function (req, res, next)
{
//If not logged and sails launch is dev mode, we automatically log user
if (!req.session.authenticated && sails.config.environment == "development")
{
//Do whatever you want to log my user and put it in session
req.session.authenticated = true;
}
return next();
};
如果你使用这个或者你用来测试用户是否登录的话,这个策略必须在sessionAuth之前调用。
如果你不知道政策只是看看这里http://sailsjs.org/#!/documentation/concepts/Policies
当我知道有没有正式的办法做到这一点
请看: http://stackoverflow.com/questions/21106983/unable-to-get-session-for-socket-in-sailsjs-after-restart?answertab=active#tab-top –