我正在使用Spring Boot 2和Gradle开发Web应用程序。我目前实现了一个自定义记忆机制( WITHOUT Spring Security),我还添加了一个系列cookie,如here所述。
现在我想在令牌不匹配的情况下使所有用户的会话无效。我会得到用户的所有会话(我保存的Bean" userSession"属性)。我该怎么办?
PS:我不使用Spring Security。
答案 0 :(得分:0)
您必须创建一个自定义HttpSession持有者对象,该对象将保存您可以根据您的条件进行迭代和无效的活动会话。
write: write-service
答案 1 :(得分:0)
Spring 中有一个名为 Spring Session 的模块,可以轻松管理所有实际会话。 Link for Spring Session documentation
要基本上运行它,您必须在 pom.xml 中添加依赖项:
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-jdbc</artifactId>
</dependency>
并向 application.properties 添加一些配置属性:
spring.session.store-type=jdbc
spring.session.jdbc.initializer.enabled=true
spring.session.jdbc.schema=classpath:org/springframework/session/jdbc/schema-qlserver.sql
spring.session.jdbc.table-name=SPRING_SESSION
在“spring.session.jdbc.schema=”中,您可以选择自己的数据库类型或使用嵌入式数据库(如 H2)。 Spring 将根据内置脚本自动为会话创建表,会话将在其中存储。