GWT и аутентификация - PullRequest
       11

GWT и аутентификация

15 голосов
/ 29 августа 2009

Каковы наилучшие стратегии защиты вашего приложения GWT + Tomcat для выполнения аутентификации и авторизации?

1 Ответ

14 голосов
/ 29 августа 2009

Существует две основные стратегии:

  1. защитить точки входа;
  2. защищать удаленные службы.

Безопасные точки входа

Самый простой способ - ограничить доступ к файлам html / js, сгенерированным GWT, с помощью обычных инструментов безопасности веб-приложений:

  • Spring Security;
  • ограничения web.xml.

Это может позволить вам иметь, например, AdminEntryPoint и UserEntryPoint.

Защита удаленных служб

Если вышеуказанного решения недостаточно, вы можете копать глубже. Я сделал это с помощью Spring Security. Я не нашел 100% чистого способа интеграции Spring Security с GWT, поэтому добавил немного клея. Кратко:

  • создал аннотацию @AllowedRoles, в которой перечислены роли пользователей, которым разрешен доступ к этому методу службы;
  • создал UserDetailsService, который позволяет проверять текущего пользователя (подробности см. в SecurityContextHolder javadoc );
  • создал аспект Spring, который соответствует всем методам, аннотированным вышеупомянутой аннотацией. Он использует службу для получения ролей текущего пользователя и выдает проверенное исключение, чтобы сообщить о несанкционированном доступе;
  • изменил все методы обслуживания, чтобы выдать исключение безопасности.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...