老师能详细解释下登录以及状态保持相关的问题么?
来源:12-1 总结
qq_MVP_皇德耀世_0
2018-02-24
我想做一个后台管理系统,有2种角色,管理员和普通用户,那么首次登录时用户发送账号密码给服务器,服务器验证通过后将登录状态放在cookie中,那么
(1)这个登录状态到底是啥?用户名还是其他的啥?还有就是一定要加密吧,后续浏览器请求发送cookie给服务器再解密判断用户?
(2)系统中管理员和普通用户权限有区分,比如某个按钮只能管理员点击,那么onClick时如何判断权限?是需要把权限信息保存在用户本地还是做一次后端请求呢?做后端请求的话要涉及到路由的异步加载吧,这个有资料么搜了下没找到
(3)用户刷新页面要继续保持登录状态,这个该怎么做呢,应该不是直接读取本地cookie吧,毕竟加密了,
(4)如果用token做身份认证的话,token中是不是必须包含用户名,否则无法认证
1回答
-
Rosen
2018-02-25
登录状态其实就是你的账户对应的一个加密后的值,当登录的时候,我们用账户和密码去后端请求登录,后端验证你的账户没问题后,就会在session里生成一个加密的随机串,也就是sessionID。后端会把这个sessionID和你的账号绑定起来,认为这个随机串和你的账号密码有同样的权限。然后再把这个sessionID种到cookie里面,你以后所有的访问都会带着这个cookie值,后端就能通过这个串知道你的身份了。
权限区分一般都是放在后端的,前端通过权限数据做显示的判断,比如没有权限按钮就不显示了,把入口封死。然后在接口里再做上权限的判断。
刷新页面cookie不会消失,没什么影响。
使用token的话,也就是用token替代cookie里的sessionID,意思是一样的,就是这个标记身份的串换个方式传而已。
40
相似问题