Ho studiato Grails da un po 'di tempo. E analizzato un po 'su Filtri e Interceptor. Entrambi hanno quasi la stessa funzionalità di tracciare le sessioni o reindirizzare utenti non autorizzati in un particolare controller.Grails Filters vs Interceptor
Ma sono confuso quando e perché dovrei usare Filtro di Interceptor e viceversa. Dato che gli Inceptor hanno due metodi di controllo beforeInterceptor
e afterInterceptor
e per i filtri tre chiusure comuni before
, after
e afterView
.
Le mie domande sono quali sono i pro e i contro dell'uso di Filter against Interceptor o viceversa. In questo modo noi, sviluppatori, possiamo decidere quando, dove e perché dovremmo usare o Filtro o Interceptor in un particolare Controller per fare tracciamento, reindirizzamento, ecc.
Vedo. Ma non è possibile creare un controller astratto per mantenere una logica di intercettazione simile e lasciare che questo controller sia il genitore di tutti gli altri controller? In quale caso possiamo dire che è necessario che la logica di filtraggio sia dichiarata da 'Filters' nella sua chiusura,' afterView'? –
Quindi è necessario un po 'di logica diversa, quindi è necessario creare un altro controller astratto. I filtri possono aiutarti a concentrare il codice in un punto e saltare le dipendenze di cui non hai realmente bisogno. –