Для конфигурации XML см. Ссылка на Spring Security :
21.2 SessionAuthenticationStrategy
SessionAuthenticationStrategy
используется обоими SessionManagementFilter
и AbstractAuthenticationProcessingFilter
, поэтому, если вы используете, например, настроенный класс для входа в форму, вам нужно будет внедрить его в оба этих элемента.В этом случае типичная конфигурация, объединяющая пространство имен и пользовательские компоненты, может выглядеть следующим образом:
<http>
<custom-filter position="FORM_LOGIN_FILTER" ref="myAuthFilter" />
<session-management session-authentication-strategy-ref="sas"/>
</http>
<beans:bean id="myAuthFilter" class="org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter">
<beans:property name="sessionAuthenticationStrategy" ref="sas" />
...
</beans:bean>
<beans:bean id="sas" class="org.springframework.security.web.authentication.session.SessionFixationProtectionStrategy" />
Для конфигурации Java см. SessionManagementConfigurer#sessionAuthenticationStrategy
:
public SessionManagementConfigurer<H> sessionAuthenticationStrategy(SessionAuthenticationStrategy sessionAuthenticationStrategy)
Позволяет явно указать SessionAuthenticationStrategy
.По умолчанию используется SessionFixationProtectionStrategy
.Если настроено ограничение максимального количества сеансов, то CompositeSessionAuthenticationStrategy
делегирует ConcurrentSessionControlAuthenticationStrategy
, SessionFixationProtectionStrategy
(по умолчанию) ИЛИ SessionAuthenticationStrategy
предоставленной sessionAuthenticationStrategy, RegisterSessionAuthenticationStrategy
.ПРИМЕЧАНИЕ. Предоставление пользовательского SessionAuthenticationStrategy
переопределит значение по умолчанию SessionFixationProtectionStrategy
.
.