老师你好,关于 cookie 的问题
服务端配置session
const session = require("koa-generic-session")
app.keys = ["df4a54f5"]
app.use(session({
cookie: {
path: '/',
httpOnly: true,
masAge: 24 * 60 * 60 * 1000
}
}))
问题
1、Vue 中设置 “路由守卫”,访问其他页面前要先登录,所以会先跳转到登录页面;
2、当用户在登录界面输入用户名和密码,点击登录后,服务端连接数据库验证用户名和密码正确,返回数据 errno: 0
表示登录成功并在浏览器中设置了 cookie;
3、但是因为服务端配置了 httpOnly: true
,所以所设置的 cookie 只允许服务端操作,这样的话,前端就无法设置和获取该 cookie,那前端要如何进行“已经登录”的判断?
22
收起
正在回答
1回答
同学你好,设置httponly后,前端是没法通过cookie判断用户是否登录的,因此我们采取的是“利用本地缓存”判断用户是否登录。具体如下:
用户登录后,会将登录信息保存到本地缓存中:
然后在路由守卫中,会从本地缓存中获取登录信息:
如果获取到了,则用户登录了,否则没登录。
祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星