Spring Security: come escludere determinate risorse?

Ho la seguente definizione …

           

Mi piacerebbe avere le risorse su questo URL …

“/ Non protetto / **”

Aperto a tutte le chiamate, cioè nessuna sicurezza intorno ad esso.

Ho provato ad aggiungere …

  

Ma ciò causa a Websphere un errore

 Unsupported configuration attributes: [permitAll] 

Qualcuno può dirmi come escludere questo URL dalla sicurezza?

In spring 3.1.x l’uso di filters = “none” è deprecato. Invece si usano più tag come questo:

  

http://static.springsource.org/spring-security/site/docs/3.1.x/reference/springsecurity-single.html#ns-form-and-basic

Penso che tu debba aggiungere use-expressions tag use-expressions alla tua configurazione http in security xml, ad esempio:

  ... ...  

Edit: beh, non sono sicuro di quale versione di sicurezza spring si sta utilizzando. So che questo funziona su 3.0 ma per le versioni precedenti non ne sono sicuro.

      

access = ” IS_AUTHENTICATED_ANONYMOUSLY ” è la soluzione. L’ho trovato sul seguente link http://syntx.io/adding-http-basic-auth-to-restful-services-in-java-and-spring/

Le intercettazioni vengono valutate dall’alto verso il basso. Se scrivi questo / ** prima / getIntelFeed / ** allora tutto il servizio passerebbe attraverso / ** e la sicurezza verrebbe applicata su tutti i servizi. In tal caso / getIntelFeed / ** sarebbe inefficace.

Provare:

  

Per poter usare espressioni come [allowAll] devi aggiungere aa WebExpressionVoter al tuo AccessDecisionManager

Non si specifica il resto della configurazione e, dal momento che sembra avere una configurazione bean esplicita, è difficile per noi indovinare esattamente come si configurano le cose. Dirò che una combinazione delle risposte sopra è corretta.

  1. Se si utilizza Spr Sec 3, la risposta di Gopi è corretta se si desidera abilitare le espressioni SpEL (e avere i bean corrispondenti che possono valutarli anche configurati). Questo può essere difficile se non si utilizza lo spazio dei nomi http.
  2. Se si dispone di un filtro appropriato configurato per l’impostazione di SecurityContext per utenti non autenticati (anonimi), impostare il ruolo = “IS_AUTHENTICATED_ANONYMOUSLY, IS_AUTHENTICATED_FULLY, IS_AUTHENTICATED_REMEMBERED” o alcune combinazioni di questi dovrebbero funzionare.
  3. Se tutto il resto fallisce, come molti hanno suggerito, filters = “none” farà ciò che vuoi, ma fai attenzione che non hai davvero bisogno di qualcosa con Spring Security nel codice sottostante alle pagine che stai rendendo, altrimenti tu potresti ritrovarti a grattarti la testa più tardi.

In bocca al lupo!