虽然觉得你很厉害,但一个login居然写得这么繁琐,我真是服了
为什么繁琐 不就是 用户名密码获取 token 然后token 获取权限么,常规都是这么写的不然怎么写
为什么繁琐 不就是 用户名密码获取 token 然后token 获取权限么,常规都是这么写的不然怎么写
简洁的做法:调用一次login就够了,后端返回该用户的基本信息和roles,而作者还要再调用一次getUserInfo
为什么繁琐 不就是 用户名密码获取 token 然后token 获取权限么,常规都是这么写的不然怎么写
简洁的做法:调用一次login就够了,后端返回该用户的基本信息和roles,而作者还要再调用一次getUserInfo
你可以看一下他的教程里面,解释了为什么有一个getUserInfo的接口。看完再来评论是否繁琐
为什么繁琐 不就是 用户名密码获取 token 然后token 获取权限么,常规都是这么写的不然怎么写
简洁的做法:调用一次login就够了,后端返回该用户的基本信息和roles,而作者还要再调用一次getUserInfo
如果没有 getUserInfo 用户登陆成功刷新页面如何用 token 获取权限 list 呢
为什么繁琐 不就是 用户名密码获取 token 然后token 获取权限么,常规都是这么写的不然怎么写
简洁的做法:调用一次login就够了,后端返回该用户的基本信息和roles,而作者还要再调用一次getUserInfo
如果没有 getUserInfo 用户登陆成功刷新页面如何用 token 获取权限 list 呢
login直接返回roles啊,明明一个接口就OK了,非要再加个getUserInfo
@ninki51 正常来说 Vue 项目中使用 Vuex 存储用户的基本信息 和 roles,登录成功后返回的值是存储在 Vuex 里面的。如果页面刷新,Vuex 里面的 roles 值会失效,所以需要专门写一个 getUserInfo 接口用于同步页面刷新后的 Vuex 信息。项目中用户的 Vuex 管理信息可以 在 src/store/modules/user.js 中查看。
@ninki51 严格的管理台页面甚至会在每个路由跳转之前都会远程的效验 roles,如果你只是在浏览器本地对 roles 管理那么很容易被篡改,最后就是如果权限变更需要重新登录才能生效
我也后台程序员,我觉得作者这样做更好。随便说一下,一年了,终于发布新版本了
其实我有个疑问,为何要将token返回给前端setToken到cookie中呢?前端set的cookie不是http-only的,假如后台XSS相关过滤做得不好,被注入脚本,js直接读取token是否可以直接拿到登录态?假如后端登录后将token直接存到Cookie中,后续自己从cookie中取回来,不需要前端主动传,这样是否会更好,因为后端可以设置http-only?
查阅了其他issue,发现已经有前辈提出了这个问题:https://github.com/PanJiaChen/vue-element-admin/issues/2549
麻烦close了吧
Most helpful comment
@ninki51 正常来说 Vue 项目中使用 Vuex 存储用户的基本信息 和 roles,登录成功后返回的值是存储在 Vuex 里面的。如果页面刷新,Vuex 里面的 roles 值会失效,所以需要专门写一个 getUserInfo 接口用于同步页面刷新后的 Vuex 信息。项目中用户的 Vuex 管理信息可以 在 src/store/modules/user.js 中查看。