Расширьте класс Spring MVC - PullRequest
0 голосов
/ 21 ноября 2018

Я пытаюсь расширить класс Spring MVC, который является ConcurrentSessionControlAuthenticationStrategy, и переопределить метод getMaximumSessionsForThisUser своей собственной реализацией.

Как зарегистрироваться или связаться с Spring, чтобы использовать мою реализацию его метода, а не свою собственную?

1 Ответ

0 голосов
/ 21 ноября 2018

Для конфигурации 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.

.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...