Ho un filtro di disconnessione personalizzato chiamato sei volte. Due volte non appena provo ad accedere all'applicazione, due volte quando inserisco username/password e clicco su 'Login' e poi di nuovo due volte quando clicco su 'logout'.Filtro personalizzato di sicurezza Spring chiamato più volte
Cosa sto sbagliando?
Configurazione:
<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" />
Il filtro:
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);
}
}
versionePrimavera: 4.1.1 sicurezza Primavera: 3.2.5
Grazie, mi hai salvato! –
Grazie! Aggiunta una risposta simile qui (dopo aver letto questa e altre risposte) - http://stackoverflow.com/a/37904857/1882064 nel caso in cui aiuti a chiarire questa risposta per chiunque. – arcseldon