Spring Session JDBC - отключить сохранение сеанса для анонимных запросов - PullRequest
0 голосов
/ 03 октября 2018

У меня есть REST API, реализованный в Spring Boot, интегрированный с PostgreSQL и Spring Security.Все работает без проблем.

Теперь я включил Spring Session JDBC, используя @EnableJdbcHttpSession и выполняя сценарий org.springframework.session.jdbc.schema-postgresql.sql.Теперь мои сеансы хранятся в БД.Круто.

Вскоре я обнаружил, что у меня есть куча записей в spring_session, где столбец principal_name имеет значения NULL.Это происходит, когда анонимный пользователь делает вызовы API (например, пытается аутентифицироваться, но учетные данные неверны).

Как я могу заставить Spring хранить сеансы только для аутентифицированных / неанонимных пользователей?

Примечание : я также получил много нежелательных SPRING_SECURITY_SAVED_REQUEST записей в таблице spring_session_attributes, но я смог отключить их, настроив Spring Security:

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