Да, это возможно, но вы должны учитывать, что приложение GWT скомпилировано в javascript и отправлено клиенту как полный пакет.Таким образом, доступ к «статическим» местам, которые не извлекают данные с сервера, не может быть ограничен с помощью SI, поскольку вся информация доступна на стороне клиента с самого начала.Однако все службы фабрики запросов (или другой используемый вами протокол) могут быть защищены с помощью Spring Security.Если вы используете фабрику запросов, вам нужно сделать пару вещей:
- Реализовать механизм безопасности, как и в любом другом приложении, использующем Spring Security - вы должны предоставить конечную точку
j_spring_security_check
, позволяющую пользователю аутентифицироваться и добавлять соответствующие аннотации SIна уровне служб (если для этого требуются параметры аутентификации / авторизации) - Переопределить Метод DefaultRequestTransport
createRequestCallback(RequestTransport.TransportReceiver receiver)
, чтобы иметь возможность обрабатывать ответы сервера 403/401. - Введите страницу входа, которая отправляет предоставленные пользователем учетные данные на
j_spring_security_check
.Вы можете легко использовать GWT RequestBuilder .
Вот и все!
Редактировать: Конечно, Spring должен знать об услугах, которые вы защищаете (должен существовать)в своем контейнере).