Spring Session - WebFlux with Custom Cookie
本指南介绍了如何在基于 WebFlux 的应用程序中配置 Spring Session 以使用自定义 cookie。本指南假设您已使用所选数据存储在项目中设置 Spring Session。例如, HttpSession with Redis。
您可以在WebFlux Custom Cookie sample application中找到已完成指南。 |
Spring Boot Configuration
设置好 Spring Session 后,你可以公开一个 WebSessionIdResolver
作为 Spring Bean 自定义会话 Cookie 的写入方式。Spring Session 默认使用 CookieWebSessionIdResolver
。将 WebSessionIdResolver
作为 Spring Bean 公开可以在使用 @EnableRedisHttpSession
等配置时增强现有配置。以下示例展示了如何自定义 Spring Session 的 cookie:
Unresolved include directive in modules/ROOT/pages/guides/boot-webflux-custom-cookie.adoc - include::example$spring-session-samples/spring-session-sample-boot-webflux-custom-cookie/src/main/java/sample/CookieConfig.java[]
1 | 我们自定义 cookie 名称,使其为 JSESSIONID 。 |
2 | 我们自定义 cookie 路径,使其为 / (而不是默认的上下文根)。 |
3 | 我们自定义 SameSite cookie 指令,使其为 Strict 。 |
webflux-custom-cookie
Sample Application
本节描述了如何使用 webflux-custom-cookie
示例应用程序。
Running the webflux-custom-cookie
Sample Application
您可以获取 源代码 并调用以下命令运行示例:
$ ./gradlew :spring-session-sample-boot-webflux-custom-cookie:bootRun
要让示例发挥作用,你必须在 localhost 上 install Redis 2.8+ 并使用默认端口 (6379) 运行它。或者,你可以更新 |
您现在应该能够访问 [role="bare"][role="bare"]http://localhost:8080/ 中的应用程序。