美文网首页
项目中后台设置set-cookie失效

项目中后台设置set-cookie失效

作者: CRJ997 | 来源:发表于2019-07-28 00:00 被阅读0次

    首先介绍一下项目中用到的东西:

    1. 前台iview-admin框架
    2. java后台,使用shiro作为登录的框架。

    想要实现的是登录功能。
    shiro用的是session+cookie的机制,因此需要进行cookie的设置和返回给后台。
    然后发现个问题:


    后台有setCookie头部

    后台明明都有set-cookie头部,但是很无语的是,浏览器的cookie存储那边找不到任何的cookie。用console.log(document.cookie)也得到是''。

    然后开始找错。

    1. 发现axios没有设置withCredentials为true,加上
    2. 以为是后台的问题,后面发现后台该有的设置都有了,包括Access-Control-Allow-Origin设置不为'*'(动态设置为请求地址),Access-Control-Allow-Credentials为true, Access-Control-Allow-Methods为POST(动态设置为POST)
    3. 为了排除是后台的错误,我把前端的网络请求部分单独拿出来放到一个index.html里面。发现set-cookie和返回cookie正常进行
      然后就很难受了。翻来看去,该有的设置都有了。但是set-cookie就是失败。之后找了一天的答案(怪自己搜索能力太差)。
      终于在github上找到了解决方法issue 962,按照上面的指示,去掉main.js中的mock.js引入.....
    //if (process.env.NODE_ENV !== 'production') require('@/mock')
    

    好了,世界和平

    相关文章

      网友评论

          本文标题:项目中后台设置set-cookie失效

          本文链接:https://www.haomeiwen.com/subject/drbyrctx.html