|
该版本仍在开发中,尚未被视为稳定。最新稳定版请使用Spring Session 3.5.3! |
春季课程 - WebFlux 与自定义 Cookie
本指南介绍了如何在基于WebFlux的应用中配置Spring Session使用自定义Cookie。本指南假设你已经在项目中使用你选择的数据存储设置了Spring Session。例如,HttpSession和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 在本地主机上运行 Redis。详见 Docker Redis 仓库中的详细说明。 |
你现在应该可以在localhost:8080/访问该应用了