请问老师,这里为什么要设成过期时间是session呢,这是什么意思呢?

来源:11-4 退出功能实现

JavaScript__yxq

2021-07-23

login(){
      let { username,password } = this;
      this.axios.post('/user/login',{
        username,
        password
      }).then((res)=>{
        this.$cookie.set('userId',res.id,{expires:'Session'});
        // this.$store.dispatch('saveUserName',res.username);
        this.saveUserName(res.username);
        this.$router.push({
          name:'index',
          params:{
            from:'login'
          }
        });
      })
    }

1.this.$cookie.set('userId',res.id,{expires:'Session'}); 这里的过期时间为什么设成‘session’呢?这具体是什么意思呢?(是意思和session的过期时间一样吗?
2.this.$cookie.set('userId',res.id,{expires:'1M'});当过期时间设成1M的时候,为什么退出登录的时候,在已经把过期时间重新设置为即可过期了的情况下this.$cookie.set('userId','',{expires:'-1'});//即刻过期,未登录刷新首页的时候还有userId呢?

写回答

1回答

河畔一角

2021-07-25

session只是一种模式,具体设置成Session模式还是需要设置成一定过期时间,这个根据业务决定。 session模式指的是会话级别,也就是浏览器关闭cookie就会失效并过期。

第二条,你描述的说是设置为-1,但是用户id还在,你测试过吗,可以再退出登录按钮的点击事件里面设置一下-1看看,然后再把userId打印一下。你说的这个情况是不会存在的

0
3
河畔一角
回复
JavaScript__yxq
session和过期时间-1不要混在一起,这是两个话题。 我上面说的session意思是有的登录可能就希望是会话级别,浏览器一关闭自动过期,下次进来是需要从新登录的。 大部分网站可能都不会用这种方式。 过期时间设置为-1这就是正常的方式了,一般会设置一个有效期,但是当主动退出登录时,可以手动让它过期,这样浏览器会自动清空userId
2021-07-26
共3条回复

Vue全家桶实战 从零独立开发企业级电商系统

Vue全家桶构建企业级电商系统,真实服务端数据对接,高实用性

2560 学习 · 1307 问题

查看课程