Jakie są najlepsze strategie zabezpieczania aplikacji GWT + Tomcat w celu przeprowadzenia uwierzytelniania i autoryzacji?GWT and Authentication
15
A
Odpowiedz
14
thereâ są dwie podstawowe strategie:
- zabezpieczają punkty wejścia;
- zabezpieczyć usługi zdalne.
zabezpieczyć punkty wejścia
Najprostszym sposobem jest ograniczenie dostępu do plików html/js generowanych przez GWT przy użyciu zwykłego narzędzia bezpieczeństwa aplikacji web:
- Wiosna bezpieczeństwa;
- Ograniczenia web.xml.
To może pozwolić na posiadanie np. AdminEntryPoint
i UserEntryPoint
.
Bezpieczne zdalne usługi
Jeśli powyższe rozwiązanie nie jest wystarczające, można kopać głębiej. Zrobiłem to dzięki Spring Security. Nie znalazłem w 100% czystego sposobu na integrację Spring Security z GWT, więc dodałem trochę kleju. W skrócie:
- stworzony adnotację
@AllowedRoles
który wymienia role użytkowników dozwolony dostęp do tej metody usługi; - utworzyła
UserDetailsService
, która umożliwia sprawdzenie bieżącego użytkownika (szczegóły: patrz the SecurityContextHolder javadoc); - utworzono aspekt wiosenny, który pasuje do wszystkich metod opisanych adnotacją. Korzysta z usługi, aby pobrać role bieżącego użytkownika i wyrzuca sprawdzany wyjątek, aby zasygnalizować niedozwolony dostęp;
- zmodyfikował wszystkie metody usług, aby rzucić wyjątek bezpieczeństwa.
Robert, czy mógłbyś podać przykładowy kod wspomnianego aspektu? (tam właśnie utknąłem) –