我在使用GWTP的Gatekeeper功能时遇到问题.按照示例gwtp-sample-tab我创建了客户端代码.但现在我仍然想知道如果用户已成功登录,如何通知客户端?(我正在使用Google UserService.)
有人可以给我一个小小的例子吗?
非常感谢你!
不确定我是否正确理解您的问题,因为GWTP gatekeppers仅出于安全目的而存在(阻止来自其他用户的管理页面或类似的东西).使用@UseGatekeeper( LoggedInGatekeeper.class )和gwtp 注释演示者将仅向注册用户显示所有其他人将被重定向到主页/错误页面.
无论如何,如果您的网站使用GAE用户API(用户服务),则用户必须转到Google的登录页面进行授权,然后返回您的网站.您网站的页面将被完全刷新,因此使用此技术和jsp可以将用户的信息直接保存到主机jsp页面中.
然后在main 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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2052 次 |
| 最近记录: |