Spring Session JDBC-对匿名请求禁用会话持久性

时间:2018-10-03 13:51:44

标签: java spring spring-boot spring-security spring-session

我有一个REST API,在Spring Boot中实现,与PostgreSQL和Spring Security集成在一起。所有工作均无缝进行。

现在,我通过使用@EnableJdbcHttpSession并执行org.springframework.session.jdbc.schema-postgresql.sql脚本来启用Spring Session JDBC。现在,我的会话存储在数据库中。很好。

我很快发现,我在spring_session中有一堆记录,其中principal_name列具有NULL值。当匿名用户调用API时会发生这种情况(例如,尝试进行身份验证但凭据错误)。

我怎样才能使Spring只为经过身份验证/非匿名用户存储会话?

旁注:在SPRING_SECURITY_SAVED_REQUEST表中我还得到了许多不需要的spring_session_attributes记录,但是我可以通过配置Spring Security来禁用这些记录:

httpSecurity.requestCache().requestCache(new NullRequestCache());

0 个答案:

没有答案