У меня есть приложение, которое использует пружинную безопасность и CAS (весна 3.0.5, cas 3.4.5), но когда я вхожу в систему, идентификатор сеанса не меняется.
Когда я вхожу в систему, CasAuthenticationFilter
выполняет аутентификацию, и если аутентификация прошла успешно, она не продолжает цепочку фильтров, вместо этого она устанавливает аутентификацию на SecurityContextHolder
и вызывает SuccessHandler. Это перенаправляет на исходный URL-адрес, который я запросил, который требовал аутентификации. SessionManagementFilter
никогда не получит трещину, вызывающую стратегию сеанса для создания нового сеанса.
Похоже, что AbstractAuthenticationFilter
, который расширяет CasAuthenticationFilter
, имеет свою собственную стратегию сеанса, но по умолчанию используется NullAuthenticatedSessionStrategy
, который уязвим для фиксации сеанса. Вопрос в том, почему стратегия по умолчанию уязвима, когда spring предотвращает фиксацию сеанса по умолчанию?
Какое лучшее разрешение, чтобы исправить это?
CasAuthenticationFilter
на сервереCAS
, который определен вsecurityContext.xml
ИЛИ о том, что находится в плагине spring-security cas/core? - person sAaNu   schedule 24.12.2013