Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GWTP网守和用户服务_Gwt_Gwt Platform - Fatal编程技术网

GWTP网守和用户服务

GWTP网守和用户服务,gwt,gwt-platform,Gwt,Gwt Platform,我在使用GWTP的网关守卫功能时遇到问题。 下面的示例创建了客户机代码。但是现在我仍然想知道如果用户已经成功登录,如何通知客户端?(我正在使用谷歌用户服务。) 谁能给我举个小例子吗 多谢各位 不确定我是否正确理解了您的问题,因为GWTP gatekeppers的存在只是出于安全目的(阻止来自其他用户的管理页面或类似内容)。用@UseGatekeeper(LoggedInGatekeeper.class)注释演示者,gwtp将只向注册用户显示,所有其他人将重定向到主页/错误页 无论如何,如果你的网

我在使用GWTP的网关守卫功能时遇到问题。 下面的示例创建了客户机代码。但是现在我仍然想知道如果用户已经成功登录,如何通知客户端?(我正在使用谷歌用户服务。)

谁能给我举个小例子吗


多谢各位

不确定我是否正确理解了您的问题,因为GWTP gatekeppers的存在只是出于安全目的(阻止来自其他用户的管理页面或类似内容)。用
@UseGatekeeper(LoggedInGatekeeper.class)
注释演示者,gwtp将只向注册用户显示,所有其他人将重定向到主页/错误页

无论如何,如果你的网站使用GAE用户API(userservice),那么用户将不得不进入谷歌的登录页面进行授权,然后返回你的网站。您的站点页面将被完全刷新,所以使用可以将用户信息直接保存到主机jsp页面中

然后在主presenter
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 

您可以看到如何使用gwtp网关守护程序