java - 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 是否仍然相关?
解决方案
cookie 只是在请求和响应中从服务器发送到服务器的一小段信息,用于维护会话相关信息。只要您可以建立一种机制来存储和检索会话相关信息,您就可以始终忽略 cookie(不仅仅是在使用 JWT 时)。
JWT 用于发送和接收身份验证和授权信息,而不是与会话相关的信息,即当用户将商品添加到购物车时,您无法更改 JWT。
因此,除了 JWT 之外,您可能还想使用 cookie(或任何其他机制)来跟踪会话信息。
编辑:我最近发现,在 cookie 中发送 JWT 是已知的最佳实践之一。所以现在,你拥有两全其美。
推荐阅读
- c# - 使用接口和/或基类来处理属性将具有不同数据类型的对象
- sql - 将日志存储在 postgres 数据库中作为文本与 json 类型
- google-directions-api - 如何使用谷歌地图API添加道路异常信息
- parallel-processing - 如何将 MPI 与共享内存一起使用?
- java - 我不断遇到一条错误消息,指出字符串索引超出范围。怎么修?
- kubernetes - AKS - 启用节点本地 dns
- rust - 当我不关心某些参数时,Rust 可以在函数类型之间进行转换吗?
- java - Android:从不同的布局到达按钮对象
- javascript - 画布触控支持,定位触控事件
- python - 熊猫找到价格变化一定量所需的最短时间