Back

go - 今天学到的东西:cookie不能在ajax请求中设置

发布时间: 2023-10-20 07:33:00

如题

1. 使用rails devise这样的框架(它能帮我们自动使用response 的Set-Cookie这样的返回的cookie ,来让客户端自动设置该cookie) 这样 我们就完全不要操心如何对cookie进行特别力度细微的操作了。

2. 把登录信息,不要设置到 request的header: Cookie 中(因为浏览器禁止ajax请求修改cookie) ,但是可以放到其他的header中,例如 MyCookie,
然后服务器端,直接读取MyCookie的内容,进行判断。

这样不行,因为ajax请求无法设置cookie, 会报错

这样就可以, 让后端不要调用 header中的 cookie,而是其他的header

更进一步的: 原则上,cookie中,有一个值就足够了(例如TOKEN) 其他的属性,都可以根据该TOKEN, 在数据库中找到对应的记录,然后读取 IsAdmin, IsActive这样的属性。 (就不用像现在这样,cookie中,要传3个属性了。)

axios 的 withCredential:true 其实是个特别优雅的解决办法。 需要跟 rails/devise 这样的 密码校验框架配合使用才优雅。

Set-Cookie需要好好学习下。

还有response中的cookie都啥意思。。。

Back