Ho un filtro di autenticazione personalizzato che crea PreAuthenticatedAuthenticationToken
e lo memorizza nel contesto di sicurezza. Tutto funziona bene. Qui è il config:Sicurezza di primavera e autenticazione personalizzata Filtro con avvio a molla
@Configuration
@EnableWebMvcSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private SsoAuthenticationProvider authenticationProvider;
@Autowired
private SsoAuthenticationFilter ssoAuthenticationFilter;
@Override
protected void configure(HttpSecurity http) throws Exception {
http.addFilterAfter(ssoAuthenticationFilter, SecurityContextPersistenceFilter.class);
}
}
Ora il mio ssoAuthenticationFilter
fa parte della FilterChainProxy
, nella giusta posizione. Liscio.
Ma come lo ssoAuthenticationFilter
è Filter
viene prelevato da Avvio e incluso come filtro. Così la mia catena di filtri Sembra veramente:
- ssoAuthenticationFilter (inclusi perché essendo
Filter
) - filterChainProxy (primavera configurazione automatica)
- ...
- SecurityContextPersistenceFilter
- ssoAuthenticationFilter (incluso da
http.addFilterAfter(...)
) - ...
- alcuni altri filtri
Ovviamente vorrei sbarazzarsi della autoregistrazione del ssoAuthenticationFilter
qui (la prima elencati).
Qualsiasi consiglio molto apprezzato.
Sei l'uomo - come allways con S avvio pring. –
Ci sono piani per convergere la configurazione del filtro Spring Security con il modo Spring Boot di farlo? Mi piacerebbe essere in grado di impostare l'ordine dei miei filtri servlet, inclusa la possibilità di inserirne uno prima dei filtri di sicurezza, senza dover pasticciare con 'HttpSecurity' – Adam
Non penso di averlo capito (e non sembra aggiungere qualcosa alla risposta). Ad ogni modo, non puoi fare filtri di sicurezza come bean ordinati perché possono esserci più catene di filtri in un contesto. –