Не уверен, правильно ли я понимаю ваш вопрос, потому что гейткиперы GWTP существуют только в целях безопасности (блокировка страниц администратора от других пользователей или что-то подобное).Аннотируйте докладчиков с помощью @UseGatekeeper( LoggedInGatekeeper.class )
, и gwtp позволит показывать это только зарегистрированным пользователям, все остальные будут перенаправлены на страницу home / error.
В любом случае, если ваш сайт использует API пользователей GAE (userservice), пользователям придется перейти на страницу входа в Google для авторизации, а затем вернуться на свой сайт.Страница вашего сайта будет полностью обновлена, поэтому, используя эту технику и jsp , вы можете сохранить информацию о пользователе прямо на хост-страницу jsp.
Затем в методе основного докладчика onReset()
получите эти данные, используя класс Dictionary
или JSNI, и сделайте что-то вроде этого:
email = JSNIUtils.getEmail();
// or
// Dictionary info = Dictionary.getDictionary("info");
// String email = info.get("email");
loginUrl = JSNIUtils.getLogInUrl();
logoutUrl = JSNIUtils.getLogOutUrl();
if (email != null && logoutUrl != null) {
// user logged in -> show his email & log out link
getView().getUserNameAnchor().setText(email);
getView().getLogInOutAnchor().setText("Log out");
getView().getLogInOutAnchor().setHref(logoutUrl);
} else if (loginUrl != null) {
// unknown user -> show welcome & log in link
getView().getUserNameAnchor().setText("Hello Stranger");
getView().getLogInOutAnchor().setText("Log in");
getView().getLogInOutAnchor().setHref(loginUrl);
} // something else