Quali sono le migliori strategie per proteggere l'app GWT + Tomcat per eseguire l'autenticazione e l'autorizzazione?GWT e autenticazione
15
A
risposta
14
Therea sono due strategie di base:
- fissare i punti di ingresso;
- proteggere i servizi remoti.
Fissare i punti di ingresso
Il modo più semplice è quello di limitare l'accesso ai file js/HTML generato da GWT che utilizzano regolarmente gli strumenti di sicurezza delle applicazioni web:
- Primavera di sicurezza;
- vincoli web.xml.
Questo può consentire di avere un es. AdminEntryPoint
e UserEntryPoint
.
garantire i servizi remoti
Se la soluzione di cui sopra non è sufficiente, si può scavare più a fondo. L'ho fatto con Spring Security. Non ho trovato un modo pulito al 100% di integrare Spring Security con GWT, quindi ho aggiunto un po 'di colla. Brevemente:
- creato un'annotazione
@AllowedRoles
che enumera i ruoli utente autorizzati ad accedere a tale metodo di servizio; - creato un
UserDetailsService
che consente l'ispezione dell'utente corrente (vedere the SecurityContextHolder javadoc per i dettagli); - creato un aspetto Spring che corrisponde a tutti i metodi annotati con l'annotazione precedente. Usa il servizio per recuperare i ruoli dell'utente corrente e lancia un'eccezione controllata per segnalare un accesso illegale;
- modificato tutti i metodi di servizio per generare l'eccezione di sicurezza.
Robert, potresti fornire un codice di esempio dell'aspetto menzionato? (è dove ho spinto) –