我有一个关于身份验证和 session 的 Node.js 新手问题。
我已经使用express.js和mongoose-auth(mongodb)进行了身份验证:
app.use(express.cookieParser());
app.use(express.session({ secret: 'esoognom'}));
app.use(auth.mongooseAuth.middleware());
我对所有员工都没有太深入的了解。用户通过身份验证后,除非服务器重新启动,否则他们将保持身份验证。我想要更持久的身份验证状态,如何管理?
感谢您的帮助。
最佳答案
如果您希望 session 即使在服务器崩溃/重新启动后也能持续存在,那么您应该使用以下模块之一:
- connect-redis (在内存数据库中,通常使用)< session 存储在Redis数据库中
- connect-mongodb < session 存储在 MongoDB 中
- 此处找到的其他 session 存储,例如 couchdb 或 memcached:https://github.com/senchalabs/connect/wiki
您还可以在添加 session 中间件时使用 maxAge 参数设置 cookie 的生命周期。例如,如果我们使用 connect-mongodb:
app.use(express.session({
secret : "Stays my secret",
maxAge : new Date(Date.now() + 3600000), //1 Hour
store : new MongoStore({ db: 'myDB' })
}));
关于javascript - 存储用户 session : node. js、express、mongoose-auth,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8567414/