ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

基于前后端考虑的鉴权

2020-05-18 16:51:46  阅读:191  来源: 互联网

标签:基于 登录 前端 前后 redis token 跳转 鉴权 路由


后端层面

  • 前端登录成功之后,后端拿到useID,之后后端生成一个随机的密钥,密钥+useId来生成签名(token)返回给前端,同时把Jti(JWT id)存在redis里面(后端每次都随机生成密钥提高了安全性,jti存储在redis里面提高了读取速度)
  • 前端带token去请求,后台decode token 得到jti,拿到redis里面查是否有对应的jti,如果有就认为是合法的

前端层面

前端拿到token的存储有三种方式

  1. sessionStorage ,浏览器关闭就没了。

  2. 存 localstorage 就一直都在,后端返回过期标识时前端主动清除

  3. 存cookie的话,后端可以过期主动清除cookie, 前端在此过程中主要配合跳转到登录页就行

对于vue,为解决浏览器刷新路由重置的问题

拿到token后要将其保存到sessionStorage,根组件的created钩子负责检查本地是否已有token,如果有则无需登录直接用该token获取权限并初始化,如果token有效且当前路由有权访问,将加载路由组件并正确展现;若当前路由无权访问将按路由设置跳转404;如果token失效,后端应返回4xx状态码,前端统一为axios实例添加错误拦截器,遇到4xx状态码执行退出操作,清除sessionStorage数据并跳转到登录页,让用户重新登录。

标签:基于,登录,前端,前后,redis,token,跳转,鉴权,路由
来源: https://www.cnblogs.com/whkl-m/p/12911511.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有