Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

后端程序员表示你的登录写得太繁琐了 #3230

Closed
ninki51 opened this issue Jun 4, 2020 · 10 comments
Closed

后端程序员表示你的登录写得太繁琐了 #3230

ninki51 opened this issue Jun 4, 2020 · 10 comments

Comments

@ninki51
Copy link

ninki51 commented Jun 4, 2020

Feature request(新功能建议)

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

@mayunhai
Copy link
Contributor

mayunhai commented Jun 6, 2020

为什么繁琐 不就是 用户名密码获取 token 然后token 获取权限么,常规都是这么写的不然怎么写

@ninki51
Copy link
Author

ninki51 commented Jun 6, 2020

为什么繁琐 不就是 用户名密码获取 token 然后token 获取权限么,常规都是这么写的不然怎么写

简洁的做法:调用一次login就够了,后端返回该用户的基本信息和roles,而作者还要再调用一次getUserInfo

@sc-yan
Copy link

sc-yan commented Jun 7, 2020

为什么繁琐 不就是 用户名密码获取 token 然后token 获取权限么,常规都是这么写的不然怎么写

简洁的做法:调用一次login就够了,后端返回该用户的基本信息和roles,而作者还要再调用一次getUserInfo

你可以看一下他的教程里面,解释了为什么有一个getUserInfo的接口。看完再来评论是否繁琐

@mayunhai
Copy link
Contributor

mayunhai commented Jun 8, 2020

为什么繁琐 不就是 用户名密码获取 token 然后token 获取权限么,常规都是这么写的不然怎么写

简洁的做法:调用一次login就够了,后端返回该用户的基本信息和roles,而作者还要再调用一次getUserInfo

如果没有 getUserInfo 用户登陆成功刷新页面如何用 token 获取权限 list 呢

@ninki51
Copy link
Author

ninki51 commented Jun 8, 2020

为什么繁琐 不就是 用户名密码获取 token 然后token 获取权限么,常规都是这么写的不然怎么写

简洁的做法:调用一次login就够了,后端返回该用户的基本信息和roles,而作者还要再调用一次getUserInfo

如果没有 getUserInfo 用户登陆成功刷新页面如何用 token 获取权限 list 呢

login直接返回roles啊,明明一个接口就OK了,非要再加个getUserInfo

@superZhouDaLu
Copy link

superZhouDaLu commented Jun 8, 2020

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

@mayunhai
Copy link
Contributor

mayunhai commented Jun 8, 2020

@ninki51 严格的管理台页面甚至会在每个路由跳转之前都会远程的效验 roles,如果你只是在浏览器本地对 roles 管理那么很容易被篡改,最后就是如果权限变更需要重新登录才能生效

@Ryoui
Copy link

Ryoui commented Jun 15, 2020

我也后台程序员,我觉得作者这样做更好。随便说一下,一年了,终于发布新版本了

@xiaolu289
Copy link

xiaolu289 commented Jul 31, 2020

其实我有个疑问,为何要将token返回给前端setToken到cookie中呢?前端set的cookie不是http-only的,假如后台XSS相关过滤做得不好,被注入脚本,js直接读取token是否可以直接拿到登录态?假如后端登录后将token直接存到Cookie中,后续自己从cookie中取回来,不需要前端主动传,这样是否会更好,因为后端可以设置http-only?

查阅了其他issue,发现已经有前辈提出了这个问题:#2549

@guihouchang
Copy link

麻烦close了吧

@ninki51 ninki51 closed this as completed Aug 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants