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

做企业网站需要什么条件南通网站建设哪家好

做企业网站需要什么条件,南通网站建设哪家好,怎么做淘宝客网站优化,体育新闻一、前言 使用一些用户不友好的项目时#xff0c;会发现#xff0c;每一次进入网站#xff0c;我们都要重新登录。 这是为什么呢#xff1f; 现代多采用前后端分离的项目架构#xff0c;这种架构#xff0c;前后端使用不同的服务器#xff0c;两个服务器上存储的信息不…一、前言 使用一些用户不友好的项目时会发现每一次进入网站我们都要重新登录。 这是为什么呢 现代多采用前后端分离的项目架构这种架构前后端使用不同的服务器两个服务器上存储的信息不一致。 用户一般直接访问的是前端服务器。 在后端为了避免恶意攻击开发者必须考虑身份验证的问题。 简单点说你必须只让允许的人进来。 解决方案很多过去常用的是cookie后来为了安全又延伸出一个session。 再后来由于分布式开发的需求和性能的需求必须有一个统一管理的验证机制这就是出现了token验证。 不过token信息存储在数据库中且无结构化信息使用起来相对麻烦。 我们需要一个机制不存储在数据库中并且能够方便访问。 这就是衍生出的JWT这也是今天话题的主角。 二、JWT的基础信息 JWT令牌的本质就是一段加密过的字符串。JWT令牌全称叫Json Web Token。JWT由3个部分组成头部header、负载payload、签名signature。JWT的头部存储配置信息。JWT的负载存储真正传输的数据。JWT的签名是认证的核心保证其不被修改。 三、JWT的头部header header存储配置信息一般有2个 typ : jwt类型表示令牌种类一般是jwtalgHS256加密算法种类比较多。 四、JWT的负载payload 这是存储数据的区域具体内容由开发者自定义一般会写 subject主题表示这个jwt令牌干什么用的可以自定义。exp过期时间这个最重要一般的jwt令牌都会有。其它比如用户的id使得JWT一定唯一。 五、JWT的签名signature 签名是最重要的验证机制它由头部、负载和密钥三部分信息经过算法加密而成具体内容不确定调用算法即可。 密钥密钥可以自定义或随机生成但是要符合一定规则。【密钥一般是一段字符串如果使用工具生成也可以是一个SecretKey包装类】 比如使用HS256算法加密密钥就必须在256bits以上。【其它的视具体算法确定一般都是长度规则】 密钥必须妥善保管这是保证jwt令牌唯一的重要数据。 六、JWT是如何保证唯一的 在负载payload中一般会有几个属性能够唯一标识用户。 比如用户id、用户name、用户手机号。 如果这个用户jwt丢失重新访问后端服务器由于过期时间一般固定也能保证jwt唯一就算不唯一只要满足规则其访问也不会出错。 七、JWTUtil工具类如何构建 经过上面的学习我们大概知道jwt是什么了那么就该了解它的使用方法了。 第一流程 jwt是我们后端服务器生成的一段字符串所以要有创建这一步骤。 当前端把jwt令牌传来时我们要把它解析成可以理解的格式所以也要有解析这一步骤。 过滤器的构建是Spring MVC的内容在此不介绍。 忽略过滤器的构建我们只需要做两件事创建jwt和解析jwt。 第二创建jwt【负载根据需求自己设置】 由于jwt有3个部分所以要分别构建头部、负载和签名。 代码基本固定为 public static String createJWT(String id){// 设定jwt的头部、负载并进行签名和打包链接// jwt比较复杂所以用builder构建JwtBuilder builder Jwts.builder();// 设定头部的方法setHeadParamString res builder.setHeaderParam(alg, HS256).setHeaderParam(typ, jwt)// 设定负载的方法claim.claim(username,tom).claim(id, id).claim(permission, 0)// 常用的一些负载允许用内置方法设置.setSubject(test_admin).setExpiration(new Date(System.currentTimeMillis()ttlMillis))// 签名方法指定加密算法HS256和密钥SECRET_KEY.signWith(SignatureAlgorithm.HS256, SECRET_KEY)// compact是将三个部分连接起来并返回一个字符串。【3部分通过.号连接】.compact();// 转化为字符串return res; }第三解析JWT令牌 由于签名用于确保信息有效头部是配置信息所以对于业务逻辑最关键的是负载payload。 在jwt机制中payload采用Claims类存储。 Claims类一个数据类本质就是一个Map结构。 通过key得到value。 由于JWTUtil类只创建、解析jwt而不进行其它的业务逻辑所以应该把Claims传递给其它方法处理。 当然为了方便我们可以将Claims的数据拿出来存储在一个Map中再交给其它方法处理。 固定的代码为 public static Claims parseJWT(String jwt){// 创建JWTPaser实例JwtParser jwtParser Jwts.parser();// 按照密钥、jwt令牌解密JwsClaims claimsJws jwtParser.setSigningKey(SECRET_KEY).parseClaimsJws(jwt);// claims类有一个Map存储一对一的数据Claims claims claimsJws.getBody();// 返回给上级处理return claims; }八、结语 我是蚊子码农如有补充欢迎在评论区留言。个人的知识体系可能没有那么完善希望各位多多指正谢谢大家。
http://www.dnsts.com.cn/news/270946.html

相关文章:

  • 网站怎么做视频教程wordpress建数据库
  • 网站默认首页搜索引擎大全网址
  • 产地证在什么网站做青岛 php 网站建设
  • 商丘专业做网站开发一个app需要多少时间
  • 人与马做的网站滦南网站建设
  • 网站建站的流程做中医诊所网站
  • cms系统首页优化seo是什么
  • 建立网站后怎么维护私人做的不错的网站
  • 网站一年费用项目ppt制作模板
  • 中国建设银行最新招聘信息网站net后缀做公司网站
  • 营销方案 网站做网站需要什么花费
  • 建设部执业考试中心网站百度推广效果怎样
  • 网站域龄查询wordpress o2o插件
  • 广东省住房与城乡建设部网站附近广告公司地址
  • 给企业做网站 工作机加工接单什么平台好
  • 企业网站后端模板室内设计说明500字范文
  • 钢铁网站模板济南好的seo
  • python做问卷调查的网站惠州的服装网站建设
  • 大网站电子商务的网站开发的工作内容
  • 济南网站建设 小程序定制家具生产厂家
  • seo 网站分析简历在线制作网站免费
  • 网站建设用什么视频播放器合肥网站模板建站
  • 惠来做网站软件工程师需要考什么证
  • 开发网站步骤wordpress如何开启阿里云cdn
  • 智能化网站建设什么样建网站
  • 网站开发用台式机电脑配置宁波网站建设优化企业推荐
  • 做发帖的网站代码媒体资源
  • 网站重新备案需要多长时间免费软件app推荐
  • 哪个网站买域名便宜php网站开发文本格式设置
  • 网站分析一般要重点做哪几项内容网站支付平台是怎么做的