2009-08-28 14 views
15

Jakie są najlepsze strategie zabezpieczania aplikacji GWT + Tomcat w celu przeprowadzenia uwierzytelniania i autoryzacji?GWT and Authentication

Odpowiedz

14

thereâ są dwie podstawowe strategie:

  1. zabezpieczają punkty wejścia;
  2. 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.
+2

Robert, czy mógłbyś podać przykładowy kod wspomnianego aspektu? (tam właśnie utknąłem) –