首页 > 解决方案 > Spring session 和 cookies 是否仍然相关,因为有 spring security 和 JWT

问题描述

几个月前我开始了一个 Spring Boot 项目,并使用带有 cookie 的 Spring JDBC 会话。该应用程序与付款有关。为了让用户进入会话,我从 HTTPRequestservelet 获取 cookie 并将其中的 ID 传递给 JDBC 会话以让用户进入会话。现在我已经阅读了关于 Spring Security 和 JWT 的内容,它似乎做同样的事情,但是以一种更安全、更标准化的方式,加上 Bcrypt 附带 Spring Security,所以我现在的问题是因为我打算更改 JWT 和 Spring Security ,我的 JDBC 会话和 cookie 是否仍然相关?

标签: javaspringspring-bootspring-securityspring-session

解决方案


cookie 只是在请求和响应中从服务器发送到服务器的一小段信息,用于维护会话相关信息。只要您可以建立一种机制来存储和检索会话相关信息,您就可以始终忽略 cookie(不仅仅是在使用 JWT 时)。

JWT 用于发送和接收身份验证和授权信息,而不是与会话相关的信息,即当用户将商品添加到购物车时,您无法更改 JWT。

因此,除了 JWT 之外,您可能还想使用 cookie(或任何其他机制)来跟踪会话信息。

编辑:我最近发现,在 cookie 中发送 JWT 是已知的最佳实践之一。所以现在,你拥有两全其美。


推荐阅读