当前位置:  开发笔记 > 编程语言 > 正文

服务器重启期间保持护照会话存活

如何解决《服务器重启期间保持护照会话存活》经验,为你挑选了1个好方法。

有没有办法可以通过服务器重启来维护用户会话,以帮助保持我的开发良好和快速?

我正在我的机器上本地处理ExpressJS节点项目.我正在使用Grunt-nodemon来查看我的JS文件,并在我进行更改后重新启动服务器.这意味着我的项目上的任何会话(用户登录)都被擦干净了.

目前,如果我在某个地方的某个深层页面并重新启动,我会被踢到登录页面并且必须重新导航,这真的令人沮丧.

我使用护照作为会话中间件.我正在使用mongoose作为我的主要应用程序数据存储区,如果我能以某种方式使用它将是超级的.



1> Jarema..:

使用任何存储方法都很简单.

一种选择是使用Redis.

以下是使用该connect-redis模块的示例:

    app.use(express.cookieParser());
    var session = require('express-session');
    var RedisStore = require('connect-redis')(session);
    app.use(express.session(
        {
            store: new RedisStore(
                {
                    host: '127.0.0.1',       //where redis store is
                    port: 6379,              //default redis port
                    prefix: 'sess',          //prefix for sessions name is store
                    pass: 'passwordtoredis'  //password to redis db
                }
            ),
            secret: 'cookiesecret',        //cookie secret
            key: 'express.sid'
        }

));

它可以更简洁,但它应该运作良好.

设置redis很容易; redis网页有一个很棒的教程:http://redis.io/topics/quickstart

请记住,默认情况下redis将会话存储在内存中,这意味着如果重新启动硬件,会话将丢失(但有一个选项可以使其保持不变http://redis.io/topics/persistence)

希望这有助于:)

推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有