我一直在尝试使用来实现 Rememberme 功能sails http://sailsjs.org。我希望会话持续到浏览器关闭为止。但是,如果用户登录时勾选了 Rememberme 复选框,我希望会话持续 30 天。我使用了这里的记住我护照策略:https://github.com/jaredhanson/passport-remember-me https://github.com/jaredhanson/passport-remember-me但它最终位于航行会话的顶部,并且第一个调用的那个最终取代了另一个。
您可以在调用登录函数之前设置 cookie 期限。
我是在我的登录控制器 -> Passport.callback 中完成的。
passport.callback(req, res, function (err, user, challenges, statuses) {
...
if (req.param('remember', false) == true) {
req.session.cookie.maxAge = 1000 * 60 * 60 * 24 * 30;
}
req.login(user, function (err) {
...
}
}
这感觉不太对,如果您在登录时发送一些其他 cookie,它也会影响它们的生命周期。
但它确实有效,我就采用了它,因为查找与帆相关的文档就像挖掘石油一样。
另外,我注意到 Passport 没有正确销毁会话,必须通过调用手动执行此操作req.session.destroy();
在注销控制器中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)