2016-04-03 7 views
6

Vorrei proteggere solo un singolo URL, consentendo l'accesso anonimo per tutto il resto.Consentire tutti gli URL tranne uno in Spring security

Gli esempi di configurazione Java visualizzati in Internet sembrano indicare che è necessario esplicitamente permitAll ogni URL e appropriato hasRole per gli URL che devono essere protetti. Questo nel mio caso crea un codice java davvero ingombrante che ho modificato ogni volta che aggiungo un nuovo URL all'applicazione. C'è una configurazione java più semplice che posso usare.

E si noti inoltre che nel mio caso, l'URL che sto proteggendo è una sotto risorsa, diciamo employee/me, vorrei employee/list, ecc., Per essere accessibile in modo anonimo.

risposta

7

Se stai usando Java Configurazione, si può usare qualcosa di simile seguente nel metodo configure:

@Override 
protected void configure(HttpSecurity http) throws Exception { 
    http 
      .authorizeRequests() 
       .antMatchers("/employee/me").authenticated() 
       .antMatchers("/**").permitAll() 
} 
+1

Grazie, Questo funziona, mi aveva infatti dato un ordine sbagliato, che causano il fallimento. –