当前位置: 首页 > news >正文

青岛建设银行社会招聘网站网上推广专员是什么意思

青岛建设银行社会招聘网站,网上推广专员是什么意思,独立商城系统网站建设等服务,别人的网站是怎么做的背景: ​ 以前的单体项目,使用的是session来保存用户登录状态,控制用户的登录过期时间等信息,但是这个session是只保存在该服务器的这个系统内存中。系统只有一个服务就没关系,但是如果是分布式的服务,每个…

背景:

​ 以前的单体项目,使用的是session来保存用户登录状态,控制用户的登录过期时间等信息,但是这个session是只保存在该服务器的这个系统内存中。系统只有一个服务就没关系,但是如果是分布式的服务,每个服务都有一个自己的session,传统的做法就无法判断用户的登录状态了,也有解决办法,就是服务之间的session复制,但是代价太大了,开发成本高、难以维护。所以分布式服务下我们一般使用当下比较流向的redis+token实现用户登录。

解决方案:

​ 解决方案分两种情况,第一种:单点登录(一个用户一个token),第二种:多客户端登录(一个用户多个token)

单点登录:

​ 单点登录,会更加安全,用户同时只能在一个客户端登录。token生成,这个就不说了,网上代码一大堆,保持随机性和唯一性就可以。整个单点登录的具体实现思路如下:

  1. 当用户登录时,且账号密码正确
    1. 后端根据用户ID删除redis中1.2生成的两个键值对,用户ID获取token,根据token再删除(实现的是用户重新登录后,上一次登录状态作废,实现了同时只能有一个客户端在线)
    2. 后端生成一个token,往redis存两个带过期时间(一般是2小时)的键值对,分别为 key:token,value:用户信息、key:用户ID,value:token。第一个键值对用来判断用户登录状态是否过期,第二个键值对便于获取用户信息。
    3. 后端最后将token返回到响应头中
  2. 前端解析返回的响应头,获取token,将token存储在cookie中(默认20分钟过期)
  3. 前端在登录后的发送的请求,都需要在请求头中赋值token(前端请求拦截器实现)
  4. 后端设置网关拦截器
    1. 拦截除白名单(自己配置,因为有的请求不需要校验token,比如登录)外的请求
    2. 判断请求是否有token且该token能否在redis中找到,如果有token则放行该请求,且设置响应头赋值token。token不存在则返回登录过期(此处于前端约定登录过期的状态)
    3. 判断请求中的token存在,且距离redis设置的过期时间不到五分钟(此处灵活设置),重新生成token(一定时间更换token,提高安全性),执行1.2操作,将redis中老的token设置过期时间为30秒(解决并发请求,其他请求还在拦截器处理中)
    4. 4.3操作加redis分布式锁,锁的粒度为用户级,防止同一用户多次刷新token
  5. 前端设置响应拦截器,当后端返回登录过期时,跳转到登录页,提示登录过期。当后端返回正常时,获取响应头的token,刷新cookie里的token

多客户端登录

​ 多客户端,用户可同时在多个客户端登录。token生成,这个就不说了,网上代码一大堆,保持随机性和唯一性就可以。整个多客户端登录的具体实现思路如下:

  1. 当用户登录时,且账号密码正确
    1. 后端正常生成新的token,存入redis(实现的是用户重新登录后,上一次登录状态依旧存在,实现了同时有多个客户端在线)
    2. 后端生成一个token,往redis存两个带过期时间(一般是2小时)的键值对,分别为 key:token,value:用户信息、key:用户ID+token,value:token。第一个键值对用来判断用户登录状态是否过期,第二个键值对便于获取用户信息。
    3. 后端最后将token返回到响应头中
  2. 前端解析返回的响应头,获取token,将token存储在cookie中(默认20分钟过期)
  3. 前端在登录后的发送的请求,都需要在请求头中赋值token(前端请求拦截器实现)
  4. 后端设置网关拦截器
    1. 拦截除白名单(自己配置,因为有的请求不需要校验token,比如登录)外的请求
    2. 判断请求是否有token且该token能否在redis中找到,如果有token则放行该请求,且设置响应头赋值token。token不存在则返回登录过期(此处于前端约定登录过期的状态)
    3. 判断请求中的token存在,且距离redis设置的过期时间不到五分钟(此处灵活设置),重新生成token(一定时间更换token,提高安全性),执行1.2操作,将redis中老的token设置过期时间为30秒(解决并发请求,其他请求还在拦截器处理中)
    4. 4.3操作加redis分布式锁,锁的粒度为用户+token级,防止同一客户端用户多次刷新token
  5. 前端设置响应拦截器,当后端返回登录过期时,跳转到登录页,提示登录过期。当后端返回正常时,获取响应头的token,刷新cookie里的token
http://www.khdw.cn/news/24661.html

相关文章:

  • 公司商城网站建设做网站排名服务热线
  • 住宅城乡建设部门户网站广州白云区今天的消息
  • 毕设做网站怎么命题网站产品怎么优化
  • win7网站后台无法编辑性价比高的seo网站优化
  • 第三方做的网站不给源代码cdq百度指数
  • 郴州市第一职业中专广州网站优化多少钱
  • 做旅行网站的依据及意义长沙线上引流公司
  • 购买域名后用wordpress建站seo关键词优化软件怎么样
  • 网站群系统哪里可以学seo课程
  • 在线商城网站模板东莞网站推广策划
  • 药品招采网站建设费用域名ip查询查网址
  • 杭州网站建设培训承德网络推广
  • 郑州小型网站制作公司中国最好的网络营销公司
  • 个人如何建设网站优化设计三年级上册语文答案
  • 网站建设的想法和意见网络营销心得体会
  • 将公司网站建设成广告收益平台
  • 020网站模板友情链接查询结果
  • 如何把网站加入白名单seo如何优化关键词排名
  • 做网站需要哪些准备北京口碑最好的教育机构
  • 自己怎么做企业网站建设网络服务提供者
  • 网站推广究竟应该怎么做网络营销顾问是做什么的
  • 个人做外贸商城网站哈尔滨百度推广联系人
  • 网站seo推广seo教程莆田seo
  • 全国认可企业信息查询平台平台优化是什么意思
  • 蓝色企业网站模板网站排名优化系统
  • 广安网站建设兼职怎样做线上销售
  • 网站需要备案吗seo工具下载
  • 5g创业网站建设培训方案怎么做
  • 网站建设平台讯息广州seo教程
  • 大学生可做的网站主题搜索引擎优化的主要特征