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

南京家具网站建设weekly做网站

南京家具网站建设,weekly做网站,网站关于 模板,最火的网络销售平台常见场景 账号/密码登录、手机号验证码登录、微信扫码登录 解决方案 基于Session认证方案 什么是session认证方案 服务端生成httpsession认证(内存-sessionId)sessionId写到浏览器cookie浏览器请求的header中自动带sessionId到服务端服务端校验sessionId是否合法 优点 .…常见场景 账号/密码登录、手机号验证码登录、微信扫码登录 解决方案 基于Session认证方案 什么是session认证方案 服务端生成httpsession认证(内存-sessionId)sessionId写到浏览器cookie浏览器请求的header中自动带sessionId到服务端服务端校验sessionId是否合法 优点 . 方案成熟、实现简单 缺点 服务端压力大用户的信息保存在服务端用户量越大内存开销越大扩展性差用户信息存在某一个服务器上应用节点就会有状态分布式环境下无法做到水平无限拓展(如何解决这个问题可以将session共享将session存在redis/mysql中或者session复制粘性session)普通的session认证不支持跨域容易被类似于csrf攻击因为基于cookie类进行用户识别cookie很容易被截获 基于JWT认证方案 什么是JWT JWT(JSON WEB TOKEN) 是目前最流行的跨域认证解决方案是一种基于Token认证授权机制JWT自身包含了身份验证所需要的所有信息因此我们服务端不需要存储Session信息这显然增加了系统的可用性和伸缩性大大减轻了服务端压力 JWT格式及组成 JWT也是令牌的token是一个String字符串由三部分构成其中用点隔开连接在一起就是一个JWT Token JWT的组成 标头Header有效载荷Payload签名Signature Header描述JWT的元数据定义生成签名的算法以及Token类型 Payload有效负载用来存放实际需要传递的数据 Signature前面两部分都使用Base64进行编码前端可以解开知道里面的数据Signature需要使用编码后的header和payload加上我们提供的一个密钥使用header中指定的签名算法进行签名签名的作用是保证JWT没有被篡改过 优点 跨平台实现token是加密的形式保存在客户端与语言无关原则上任何web形式都支持不需要存储session服务端节点可水平无限拓展不依赖cookie使得其可以防止CSRF攻击性能好只需要在header中携带token就可以实现验证 缺点 JWT生成的token在有效期内一直可用因为存在客户端无法在服务端删除用户登出只能在客户端中删除token无法在服务端控制jwt本身无法实现用户禁止登录或拉黑用户需要业务自己实现 拓展 Jwt Token如何续期 方法一 管理后端 服务端(认证鉴权服务) 登录接口返回accessToken和refreshTokenaccessToken与refreshToken时间要错开一般来说管理后台accessToken一般设置为30分钟refreshToken设置为1h小程序或APPaccessToken设置为7天refreshToken设置为30天 token续期接口通过前台传过来的refreshToken来获取新的token(两个)如果refreshToken过期直接提示用户重新登录 前端 前端将accessToken与refreshToken存在浏览器缓存请求业务接口header中的Authorization参数携带token如果接口返回token过期前端通过refreshToken请求token续期接口返回新的accessToken前端将token更新缓存下次使用新的token请求业务 方法二 token过期时间由redis来控制 在登陆时把用户信息或者token放进redis并设置过期时间 如果30分钟内用户有操作前端带着token来访问过滤器解析token得到用户信息去redis中验证用户信息验证成功则在redis中增加过期时间验证失败返回token错误。实现了token时间的自动更新。 如果30分钟内用户无操作redis中的用户信息已过期此时再进行操作token解析出的用户信息在redis中验证失败则重新登录。实现了一定时间内无操作掉线 JWT如何中止 JWT正常情况下只有在过期过后才能失效所以我们需要第三方的帮助 方案一 每个JWT都有一个唯一的jti字段我们可以在退出登录/修改密码/重置密码等场景下将jti字段给保存数据库MySQL/Redis中并设置过期的到期时间为Token的到期时间如果是放在MySQL中则需要设置一个新的字段如果是Redis中则可以直接设置过期时间每次判断token的时候都需要查询一下 方案二 因为可以在每个token中加入盐值认证的时候又会去验证这个盐的值所以我们可以在每次退出登录/修改密码/重置密码时候修改这个盐值所以之前的token就不会验证成功也就失效了
http://www.w-s-a.com/news/80900/

相关文章:

  • 做手机网站的公司网站建设 app开发 图片
  • 网站开发技术背景介绍wordpress数据库重置密码
  • 开发建设网站的实施过程是一个logo设计品牌
  • 做360pc网站排名首页工程造价信息网官网首页
  • 产品销售网站模块如何设计大数据和网站开发
  • 现在帮别人做网站赚钱不济南做网站建设公司
  • 嘉兴网站建设哪家好最近三天的国际新闻大事
  • 安丘网站建设制作做网站口碑比较好的大公司
  • 成都专业做网站公司哪家好优化大师下载安装免费
  • 防蚊手环移动网站建设广东深圳有几个区
  • 网站建设找哪些平台宜兴网站开发
  • 免费网站应用软件wordpress添加动态图标
  • 中小企业网站建设客户需求调查问卷昆明网站建设一条龙
  • 网站内容的特点wordpress 移动端网页
  • 专门网站建设培训网站系统建设
  • 自己设计手机的网站wordpress主题加密教程
  • 北京网站建设公司飞沐卖水果网站建设的策划书
  • 北京免费自己制作网站短视频宣传片制作
  • 怎样进入谷歌网站电子商务网站建设软件选择
  • 建个普通网站多少钱设计师培训多少
  • 建设校园网站的意义视频链接提取下载
  • 天津电子商务网站wordpress安装图片
  • 青岛房产网站东莞网络营销外包公司
  • 网站建设中的页数网上工伤做实网站
  • 给公司做网站这个工作怎么样wordpress不支持中文标签
  • 湖南网站推广优化cc域名做门户网站
  • 网站开发大概多久怎么制做网站
  • 鄂州官方网站食品网站建设需求分析
  • 福州网站建设金森要做好网络营销首先要
  • 中山哪里有好网站建设公司企业培训考试平台下载