请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

清空cookie 后登录态还在

老师,有个疑问,如果我把cookie 清掉之后,session 里还是有登录信息,等于我的登录态还在,感觉有点奇怪呢,但是之前不基于框架的就没有这个问题

正在回答 回答被采纳积分+3

2回答

双越 2019-09-30 19:17:55

客户端的每次请求都会命中 session() 中间件,该中间件都会从 cookie 中取出 sid 然后去找 session 。如果 cookie 现在被清楚了,那么下次请求就会找不到 session ,就会失效。

0 回复 有任何疑惑可以回复我~
  • 提问者 木南1988 #1
    但是我按照视频中的代码测试,确实清楚cookie 之后,刷新,cookie又会被重新种上呢
    回复 有任何疑惑可以回复我~ 2019-09-30 19:28:55
  • 提问者 木南1988 #2
    const app = express();
    
    // view engine setup
    app.set('views', path.join(__dirname, 'views'));
    app.set('view engine', 'jade');
    
    app.use(logger('dev'));
    app.use(express.json());
    app.use(express.urlencoded({ extended: false }));
    app.use(cookieParser());
    app.use(express.static(path.join(__dirname, 'public')));
    
    const redisClient = require('./db/redis');
    
    const sessionStore = new RedisStore({
        client: redisClient,
    });
    
    app.use(session({
        secret: 'yuIOop_73297#',
        cookie: {
            name: 'userid',
            path: '/',
            httpOnly: true,
            maxAge: 24 * 60 * 60 * 1000,
        },
        store: sessionStore,
    }));
    贴一下我的code
    回复 有任何疑惑可以回复我~ 2019-09-30 19:32:02
  • 双越 回复 提问者 木南1988 #3
    用了 session() 中间件,cookie 是会每次都重新种上,但前后两次的 cookie 中内容是不一样,你可以看一下。猜测你现在还没有实现登录功能,等实现了登录功能,清空 cookie 就会清空登录状态,到时候可以试试。
    回复 有任何疑惑可以回复我~ 2019-09-30 20:21:17
提问者 木南1988 2019-09-30 17:44:24

这样cookie 好像就失去意义了

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号