老师,我看你访问没登陆访问index.html时redis已经有值了,不是登陆后赋值到session,session才赋值到redis吗

来源:10-11 登录中间件

朱青1900

2019-08-06

const redisClient = require('./db/redis')
const sessionStore = new RedisStore({
  client: redisClient
})
app.use(session({
  secret: 'WJiol#23123_',
  cookie: {
    // path: '/',   // 默认配置,不写也可以
    // httpOnly: true,  // 默认配置
    maxAge: 24 * 60 * 60 * 1000
  },
  store: sessionStore
}))

老师,关于这段中间件的理解,我是这样理解,每次路由都会经过,注册session和开辟redis空间,这样每次给session赋值时候都会存储到redis中,而且只有执行login登陆路由时候,才会给session赋值,但是看老师操作,还没登陆访问index.html时候就有redis了,所以请老师解答下,麻烦老师了。

写回答

1回答

双越

2019-08-06

为啥只有登录之后才能给 redis 赋值呢?没登录就不能给 redis 赋值吗?—— 可以的,没问题。

使用 express 和 koa 连接 redis 时。无论是否登录,redis 都会有值。只不过,登录之后 redis 中才会存储 session 的值,即有 username 等用户信息。没登录的时候,redis 中没有用户信息。

0
1
朱青1900
非常感谢老师!是我没理解好。
2019-08-06
共1条回复

Node.js+Express+Koa2+Nest.js 开发服务端

从入门到实战,一站式掌握 Node.js+Express+Koa2

4050 学习 · 2006 问题

查看课程