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

青岛模板网站建设价格网络品牌网站建设

青岛模板网站建设价格,网络品牌网站建设,平面设计常用网站,响水做网站哪家公司好文章目录 #x1f339;简述JWT令牌⭐JWT特点 #x1f33a;JWT使用流程#x1f6f8;JWT令牌代码实现#x1f354;JWT应用 #x1f339;简述JWT令牌 JWT全称为JSON Web Token#xff0c;是一种用于身份验证的开放标准。它是一个基于JSON格式的安全令牌#xff0c;主要用于… 文章目录 简述JWT令牌⭐JWT特点 JWT使用流程JWT令牌代码实现JWT应用 简述JWT令牌 JWT全称为JSON Web Token是一种用于身份验证的开放标准。它是一个基于JSON格式的安全令牌主要用于在网络上传输声明或者用户身份信息。JWT通常被用作API的认证方式以及跨域身份验证。 JWT令牌由三部分组成分别是头部Header、载荷Payload和签名Signature。头部包含了令牌使用的加密算法信息载荷包含了所需传输的用户信息签名用于保证令牌的完整性和真实性防止令牌被篡改。 官网https://jwt.io/ ⭐JWT特点 可以跨语言、跨平台使用因为它是基于JSON标准的。可以直接嵌入到HTTP请求头中方便传输和验证。令牌的有效期可以通过设置过期时间来进行控制提高了安全性。由于令牌中包含了用户信息因此可以避免频繁查询数据库的情况出现提高了系统的性能。 JWT使用流程 用户向服务器发送登录请求服务器进行身份验证如果验证成功则返回一个JWT令牌给客户端。 客户端收到JWT令牌后将其保存在本地。每次向服务器发送请求时在请求的头部中携带该令牌以便服务器对请求进行身份验证。 服务器收到请求后从请求头中提取JWT令牌并进行解析和验证。如果令牌有效则允许请求继续执行否则返回错误信息。 生成令牌校验令牌 在服务端拦截所有的请求判断算法有合法的jwt请求如果有直接放行否则进行拦截 JWT令牌代码实现 我把代码脚手架传到网盘里面了大家跟着代码来学习 我用夸克网盘分享了「tlias-web-management」点击链接即可保存。 链接https://pan.quark.cn/s/1f4f6c129be8 添加依赖 !-- JWT令牌--dependencygroupIdio.jsonwebtoken/groupIdartifactIdjjwt/artifactIdversion0.9.1/version/dependency生成JWT令牌 //生成jwtTestpublic void testGenJwt(){MapString, Object claims new HashMap();claims.put(id,1);claims.put(name,Tom);String jwt Jwts.builder().signWith(SignatureAlgorithm.HS512, itheima) //签名算法.setClaims(claims) //自定义内容//有参构造方法.setExpiration(new Date(System.currentTimeMillis()3600)) //令牌过期时间.compact();System.out.println(jwt);}运行后发现出现了jwt令牌 我们把这一段jwt令牌复制粘贴到jwt官网进行解析一下 https://jwt.io/ 解析jwt令牌 相当于校验令牌只要解析令牌不报错就相当于校验jwt令牌正确 //解析jwtTestpublic void testParseJwt() {Claims claimsJwts.parser().setSigningKey(itheima)//写入你刚才运行出来的jwt令牌.parseClaimsJws(eyJhbGciOiJIUzUxMiJ9.eyJuYW1lIjoiVG9tIiwiaWQiOjEsImV4cCI6MTcwMDcyMzQ1M30.GMp1Z-osnaOJ08nM3uswPKRFIaKS4e6_UvZXq2Q4QjYBFRcJNk7WgQRkFJHXIUrZfKovXUZhd8-OOKtXYDyrbg).getBody();System.out.println(claims);}解析出来了 可能会发生这种报错是因为jwt令牌过期了重新生成一个即可 JWT应用 我们接着上面的代码写引入jwt工具类 package com.itheima.utils;import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm;import java.util.Date; import java.util.Map;public class JwtUtils {private static String signKey itheima; //签名密钥private static Long expire 43200000L; //过期时间/*** 生成JWT令牌* param claims JWT第二部分负载 payload 中存储的内容* return*/public static String generateJwt(MapString, Object claims){String jwt Jwts.builder().addClaims(claims).signWith(SignatureAlgorithm.HS256, signKey).setExpiration(new Date(System.currentTimeMillis() expire)).compact();return jwt;}/*** 解析JWT令牌* param jwt JWT令牌* return JWT第二部分负载 payload 中存储的内容*/public static Claims parseJWT(String jwt){Claims claims Jwts.parser().setSigningKey(signKey).parseClaimsJws(jwt).getBody();return claims;} } 创建LoginController里面包含了生成jwt令牌的代码 package com.itheima.controller;import com.itheima.pojo.Emp; import com.itheima.pojo.Result; import com.itheima.service.EmpService; import com.itheima.utils.JwtUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController;import java.util.HashMap; import java.util.Map;Slf4j RestController public class LoginController {Autowiredprivate EmpService empService;PostMapping(/login)public Result login(RequestBody Emp emp){log.info(员工登录: {}, emp);Emp e empService.login(emp);//登录成功,生成令牌,下发令牌if (e ! null){MapString, Object claims new HashMap();claims.put(id, e.getId());claims.put(name, e.getName());claims.put(username, e.getUsername());String jwt JwtUtils.generateJwt(claims); //jwt包含了当前登录的员工信息return Result.success(jwt);}//登录失败, 返回错误信息return Result.error(用户名或密码错误);}} 在技术的道路上我们不断探索、不断前行不断面对挑战、不断突破自我。科技的发展改变着世界而我们作为技术人员也在这个过程中书写着自己的篇章。让我们携手并进共同努力开创美好的未来愿我们在科技的征途上不断奋进创造出更加美好、更加智能的明天
http://www.w-s-a.com/news/122934/

相关文章:

  • 网站建设的几大要素网站的做网站的公司
  • 怎么登陆自己的公司网站垂直电商网站建设
  • 温州微网站制作哪里有许昌网站建设哪家最好
  • 中国中小企业网站官网网页制作工具按其制作方式分 可以分为
  • 做资源下载网站违法吗河南企业做网站
  • 网站开发总体功能设计网站建设 北京昌平
  • 辽宁省高等级公路建设局网站书画院网站建设方案
  • 本地生活网站 源码重庆本地网站有哪些
  • 企业网站域名服务器国外html响应式网站
  • 东莞网站建设策划企业网站推广策划方法
  • 网站的图片怎么制作WordPress交互式网站
  • pc网站增加手机站什么专业学网页设计制作
  • 婚庆公司网站模板wordpress用什么框架
  • 高校网站建设的时效性长沙市网站建设
  • 合肥网站建设市场四川建设网官网住房和城乡厅官网官方
  • 天行健君子以自强不息网站建设江西网站做的好的企业文化
  • 建网站内容谷歌搜索引擎优化
  • 网站建设与管理案例教程第三版答案网站建设策划书范文六篇精选
  • 建设工程项目在哪个网站查询实时网站推广的最终目的是
  • 个人网站可以做淘客网站设置的参数
  • 自适应网站制作公司做室内设计通常上的网站
  • 网站建设项目采购公告建设网站公司建网页
  • 自己做网站怎么推广网站建设应该考虑哪些方面
  • 我做的网站手机上不了wordpress插件整站搬家
  • 河南省和建设厅网站首页西安找建网站公司
  • 网页设计基础代码网站进出成都最新通知
  • 如何创建网站乐清网络科技有限公司
  • 沈阳市网站制作艺术字体logo设计生成器
  • 网站设计常用软件都有哪些中国建设银行官方招聘网站
  • 证券投资网站建设视频直播怎么赚钱的