|
最新稳定版请使用Spring Session 3.5.3! |
春季课程 - WebFlux 与自定义 Cookie
本指南介绍了如何在基于WebFlux的应用中配置Spring Session使用自定义cookie。 本指南假设你已经用你选定的数据存储在项目中设置了Spring Session。比如,HttpSession with Redis。
| 您可以在WebFlux自定义Cookie示例应用中找到完成的指南。 |
Spring Boot配置
设置好春季会话后,你可以通过公开WebSessionIdResolver作为春豆。
春季课程使用CookieWebSessionIdResolver默认。
揭露WebSessionIdResolver因为 Spring Bean 在使用以下配置时对现有配置进行了补充@EnableRedisHttpSession.
以下示例展示了如何自定义春季课程的cookie:
@Bean
public WebSessionIdResolver webSessionIdResolver() {
CookieWebSessionIdResolver resolver = new CookieWebSessionIdResolver();
resolver.setCookieName("JSESSIONID"); (1)
resolver.addCookieInitializer((builder) -> builder.path("/")); (2)
resolver.addCookieInitializer((builder) -> builder.sameSite("Strict")); (3)
return resolver;
}
| 1 | 我们会自定义 Cookie 的名称为JSESSIONID. |
| 2 | 我们会自定义 cookie 的路径(而不是上下文根的默认路径)。/ |
| 3 | 我们会定制同站Cookie 指令严格. |
Webflux-自定义-cookie示例应用
本节介绍了如何与Webflux-自定义-cookie示例应用。
运行Webflux-自定义-cookie示例应用
您可以通过获取源代码并调用以下命令来运行示例:
$ ./gradlew :spring-session-sample-boot-webflux-custom-cookie:bootRun
为了让样本正常工作,你必须在localhost上安装Redis 2.8+,并用默认端口(6379)运行。
或者,你也可以更新RedisConnection工厂指向一个Redis服务器。
另一个选择是用 Docker 在 localhost 上运行 Redis。详见 Docker Redis 仓库中的详细说明。 |
你现在应该可以在localhost:8080/访问该应用了