В настоящее время я занимаюсь разработкой приложения GWT 2.1, которое должно быть развернуто в Google App Engine. Я хотел бы реализовать взаимодействие с сервером с использованием нового RequestFactory.
Теперь мой вопрос заключается в том, как решить мелкозернистые проблемы безопасности в этом контексте? Некоторые действия сервера (из тех, которые объявлены в заглушках RequestContext) должны быть ограничены для определенных пользователей (возможно, в зависимости от параметров удаленного вызова). Если вызов не авторизован, я бы хотел, чтобы клиент показывал страницу входа в систему (например, чтобы можно было войти в систему как другой пользователь).
Из примера «Расходы» я знаю, как реализовать автоматическое перенаправление на страницу входа, но в этом примере модель безопасности довольно проста: клиенту разрешен доступ к сервлету, если и только если пользователь вошел в систему .
Должен ли я вызывать пользовательское исключение UnAuthorizedException в моей серверной службе? Где я должен перехватить это исключение? (Могу ли я сделать это в фильтре сервлетов, например, GaeAuthFilter в примере расходов?)