У меня есть пользовательский фильтр выхода, который называется шесть раз. Дважды, как только я пытаюсь получить доступ к приложению, дважды, когда я ввожу имя пользователя/пароль и нажимаю «Войти», а затем дважды, когда я нажимаю «Выход».Пружинный фильтр пользовательского фильтра, вызываемый несколько раз
Что я делаю неправильно?
Конфигурация:
<http auto-config="true" use-expressions="true">
<intercept-url pattern="/admin/**" access="hasRole('ROLE_ADMIN_FUNCTIONS')" />
<intercept-url pattern="/**" access="hasRole('ROLE_USER')" />
<form-login login-page="/login"
authentication-success-handler-ref="customAuthenticationSuccessHandlerBean"
authentication-failure-handler-ref="customAuthenticationFailureHandlerBean" />
<logout invalidate-session="true" success-handler-ref="logoutHandlerBean" />
<session-management session-fixation-protection="migrateSession">
<concurrency-control max-sessions="1"
expired-url="/login_sessionexpired" />
</session-management>
<custom-filter before="LOGOUT_FILTER" ref="customLogoutFilter" />
</http>
<beans:bean id="customLogoutFilter" class="com.hurontg.libms.security.CustomLogoutFilter" />
Фильтр:
public class CustomLogoutFilter extends OncePerRequestFilter {
/**
*
*/
private XLogger logger = XLoggerFactory
.getXLogger(CustomLogoutFilter.class.getName());
@Override
protected void doFilterInternal(HttpServletRequest req,
HttpServletResponse res, FilterChain chain)
throws ServletException, IOException {
logger.error("========================================================================================");
logger.error("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Custom Logout Filter $$$$$$$$$$$$$$$$$$$$$$$$$$$$$");
logger.error("========================================================================================");
chain.doFilter(req, res);
}
}
Весна версия: 4.1.1 Весна безопасности: 3.2.5
Спасибо, вы спасли меня! –
Спасибо! Добавлен аналогичный ответ здесь (после прочтения этого и других ответов) - http://stackoverflow.com/a/37904857/1882064, если это поможет прояснить этот ответ для всех. – arcseldon