Vue-element-admin: 后端程序员表示你的登录写得太繁琐了

Created on 4 Jun 2020  ·  10Comments  ·  Source: PanJiaChen/vue-element-admin

Feature request(新功能建议)

虽然觉得你很厉害,但一个login居然写得这么繁琐,我真是服了

Most helpful comment

@ninki51 正常来说 Vue 项目中使用 Vuex 存储用户的基本信息 和 roles,登录成功后返回的值是存储在 Vuex 里面的。如果页面刷新,Vuex 里面的 roles 值会失效,所以需要专门写一个 getUserInfo 接口用于同步页面刷新后的 Vuex 信息。项目中用户的 Vuex 管理信息可以 在 src/store/modules/user.js 中查看。

All 10 comments

为什么繁琐 不就是 用户名密码获取 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了吧

Was this page helpful?
0 / 5 - 0 ratings