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

vs2010做网站教程wordpress超级密码

vs2010做网站教程,wordpress超级密码,网络销售怎么找客源,沂源网站设计文章目录 Spring Boot 集成JWT实现Token验证详解一、引言二、JWT和Token基础1、什么是Token2、什么是JWT3、JWT的结构4、JWT的工作原理 三、集成JWT1、引入JWT依赖2、创建Token工具类3、创建拦截器4、注册拦截器 四、总结 Spring Boot 集成JWT实现Token验证详解 一、引言 在现… 文章目录 Spring Boot 集成JWT实现Token验证详解一、引言二、JWT和Token基础1、什么是Token2、什么是JWT3、JWT的结构4、JWT的工作原理 三、集成JWT1、引入JWT依赖2、创建Token工具类3、创建拦截器4、注册拦截器 四、总结 Spring Boot 集成JWT实现Token验证详解 一、引言 在现代Web应用开发中随着前后端分离和微服务架构的流行传统的基于Cookie和Session的身份验证方式已经逐渐被基于Token的验证方式所取代。JWTJson Web Tokens作为一种轻量级的身份验证机制因其简单、安全且易于使用的特性而广受欢迎。本文将详细介绍什么是JWT什么是Token以及如何在Spring Boot项目中集成JWT来实现Token验证。 二、JWT和Token基础 1、什么是Token Token是一种令牌它在用户登录后由服务器生成并返回给客户端客户端在随后的请求中将Token附在HTTP请求头中以此来验证用户的身份。Token通常包含了用户的身份信息和一些其他的元数据。 2、什么是JWT JWTJson Web Tokens是一个开放标准RFC 7519它定义了一种紧凑且自包含的方式用于在双方之间以JSON对象的形式安全地传输信息。每个Token都是经过数字签名的因此可以被验证和信任。JWT可以使用秘密对称加密或使用RSA或ECDSA的公钥/私钥对非对称加密进行签名。 3、JWT的结构 JWT由三部分组成用点.分隔 Header头部通常包含Token的类型即JWT和所使用的签名算法如HMAC SHA256或RSA。Payload负载包含所要传递的信息。负载可以包含多个声明Claims声明是关于实体通常是用户和其他数据的声明。Signature签名用于验证消息在传输过程中未被篡改并且对于使用私钥签名的Token还可以验证发送者的身份。 4、JWT的工作原理 用户使用用户名和密码登录。服务器验证用户的凭据并创建一个包含用户信息和其他需要的数据的JWT。服务器将JWT发送给客户端。客户端在随后的每个请求中将JWT放在HTTP请求头中发送给服务器。服务器验证JWT的有效性如果有效则允许用户访问资源。 三、集成JWT 1、引入JWT依赖 在Spring Boot项目的pom.xml文件中引入JWT依赖。 dependencygroupIdcom.auth0/groupIdartifactIdjava-jwt/artifactIdversion3.10.3/version /dependency dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId /dependency2、创建Token工具类 创建一个工具类TokenUtil用于生成和验证JWT Token。 import com.auth0.jwt.JWT; import com.auth0.jwt.algorithms.Algorithm; import com.auth0.jwt.exceptions.JWTVerificationException; import com.auth0.jwt.interfaces.DecodedJWT; import com.auth0.jwt.interfaces.JWTVerifier;import java.util.Date; import java.util.HashMap; import java.util.Map;Component public class TokenUtil {private static final String SECRET your-secret; // 密钥生产环境应保持安全public String createToken(String username) {try {Date expireDate new Date(System.currentTimeMillis() 3600 * 1000); // 设置Token过期时间return JWT.create().withIssuer(auth0).withClaim(username, username).withExpiresAt(expireDate).sign(Algorithm.HMAC256(SECRET));} catch (Exception exception) {throw new RuntimeException(Token创建失败);}}public MapString, String verifyToken(String token) {try {JWTVerifier verifier JWT.require(Algorithm.HMAC256(SECRET)).withIssuer(auth0).build();DecodedJWT jwt verifier.verify(token);return jwt.getClaims();} catch (JWTVerificationException exception) {throw new RuntimeException(Token验证失败);}} }3、创建拦截器 创建一个拦截器TokenInterceptor用于在请求中验证Token。 import org.springframework.web.servlet.HandlerInterceptor;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;Component public class TokenInterceptor implements HandlerInterceptor {Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {String token request.getHeader(Authorization);if (token ! null !token.isEmpty()) {TokenUtil tokenUtil new TokenUtil();MapString, String claims tokenUtil.verifyToken(token);if (claims ! null) {return true;}}response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);response.getWriter().write(Unauthorized);return false;} }4、注册拦截器 将拦截器注册到Spring Boot中。 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;Configuration public class WebConfig implements WebMvcConfigurer {Autowiredprivate TokenInterceptor tokenInterceptor;Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(tokenInterceptor).addPathPatterns(/**).excludePathPatterns(/login, /public/**);} }四、总结 通过上述步骤我们已经在Spring Boot项目中成功集成了JWT实现了Token的生成和验证。这种基于Token的身份验证机制不仅适用于单体应用也适用于微服务架构为现代Web应用提供了一种灵活、安全的身份验证解决方案。希望本文能帮助你更好地理解和实现JWT Token验证。 版权声明本博客内容为原创转载请保留原文链接及作者信息。 参考文章 CSDN博客 - springboot整合token腾讯云开发者社区 - Spring Boot 如何集成JWT实现Token验证
http://www.yingshimen.cn/news/89427/

相关文章:

  • 静态展示网站多少钱惠州网站制作工具
  • 如何查看网站是用什么模板做的北京手机网站建设哪家好
  • windows 网站建设方山网站建设
  • 梨树做网站网站备案时间会过期吗
  • wamp环境下做网站重要新闻今天8条新闻
  • 免费传奇网站模板安阳做网站
  • 帮别人做非法网站wordpress做的外贸网站6
  • 如何开网站详细步骤图0网站建设的好坏可以依据的标准有
  • 网站风格设计原则网站建设微信公众号小程序app
  • 宇泽佛山网站建设哪个网站做质量认证书范本
  • 网站实名制注册怎么做做网站每天任务及实训过程
  • 企业网站制作教程泰州seo外包公司
  • 品牌微营销网站建设产品介绍页面的制作 html
  • 江西省建设厅教育网站网站建设与制作与维护
  • 做网站移交资料wordpress评论优化
  • 做网站需要看什么书wordpress主题无法安装这个包
  • 泉州专业网站设计技术公司陈年凡客诚品为什么失败
  • 网站备案 在那给网站备案济南互联网品牌设计
  • 电商网站建设运城腾讯企业邮箱好用吗
  • 网站建设实录音乐福建网站建设推广
  • 宝安网站建设网站制作哪家快长春市快速建站网站
  • 定制网站和模板网站的区别微信公众平台对接网站
  • 网站开发技术概况网站建设公司有哪些
  • 有没有专门做宝宝用品的网站类似直播平台网站的建设费用
  • 怎样提高网站的打开速度南昌地宝网最新招聘信息网
  • 虚拟主机代理商的网站打不开了怎么办嘉兴网站关键字优化
  • 深圳网站制作公司讯息天津怎么建立企业网站
  • 国外网站建设平台紫鸟浏览器
  • 企业网站建设示范平台可以自学做网站吗
  • 超炫网站南昌做建网站的