传统SessionID,Cookie方式与SringSecurity+JWT验证方式

本文介绍了如何在SpringBoot中使用SpringSession进行会话管理,以及SpringSecurity提供的身份验证和授权功能。此外,还详细讲解了JWT(JSONWebToken)的工作原理、在跨域认证中的应用,以及私钥和公钥在JWT验证中的作用。
摘要由CSDN通过智能技术生成

在Spring Boot框架中,可以使用Spring Session来处理会话管理。Spring Session允许开发者在不同的存储后端(如Redis、数据库等)之间共享和管理会话状态。通过Spring Session,开发者可以轻松地实现会话管理、会话失效以及跨多个节点的会话共享等功能。在Spring Boot中使用Session时,可以通过配置来指定Session的存储方式和管理策略,从而实现灵活的会话管理功能。

 

 

 

 Spring Security 是 Spring 生态系统中的一个强大安全框架,用于在应用程序中提供身份验证、授权和其他安全功能。Spring Security 可以帮助开发者轻松地集成安全性保护机制到他们的应用程序中,包括用户认证、角色管理、权限控制、会话管理等功能。通过Spring Security,开发者可以快速实现各种安全需求,确保应用程序的数据和功能受到保护。Spring Security与Spring Boot集成良好,使得安全配置变得简单而灵活。

JWT(JSON Web Token)是一种开放标准(RFC 7519),用于在网络应用之间传递声明。JWT由三部分组成:头部(Header)、载荷(Payload)和签名(Signature)。通常情况下,JWT用于在用户和服务器之间安全传递信息,如身份验证和授权信息。在使用JWT时,服务器会生成一个包含用户信息的Token,并将其发送给客户端,客户端可以将这个Token存储起来并在后续的请求中使用。服务端收到带有Token的请求后,会验证Token的合法性,并根据Token中的信息来进行相应的操作。JWT具有简洁、紧凑和自包含等特点,易于传输和解析,广泛应用于Web开发领域中。

jwt可实现跨域认证,不需要在服务器端存储

在JWT验证中,公钥和私钥通常用于实现基于非对称加密算法的签名验证。下面简要介绍一下它们在JWT验证中的应用:

  1. 私钥(Private Key):私钥用于生成JWT Token时进行签名。在JWT生成端,使用私钥对Payload进行签名,生成Signature部分。这样可以确保JWT Token在传输过程中不被篡改。只有持有私钥的一方才能够对Token进行签名。

  2. 公钥(Public Key):公钥用于验证JWT Token的签名。在JWT验证端,使用公钥来验证Token的签名是否有效。通过验证Token的签名,可以确保Token是由可信任的发送方生成的。

在实际应用中,通常会将公钥存储在验证JWT的服务端,而私钥则由生成JWT Token的服务端保管。当需要验证JWT Token时,验证端会使用公钥来验证Token的签名,从而确认Token的真实性。

JwtToken,UserInfo用户和Server为公钥,JwtToken存在后端,秘钥只存在后端

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值