我正在使用Google Web Toolkit编写应用程序,并且正在尝试找出当前登录用户的Google Apps域。
public LoginInfo login(String requestUri) {
UserService userService = UserServiceFactory.getUserService();
User user = userService.getCurrentUser();
LoginInfo loginInfo = new LoginInfo();
if (user != null) {
loginInfo.setLoggedIn(true);
loginInfo.setEmailAddress(user.getEmail());
loginInfo.setNickname(user.getNickname());
loginInfo.setAuthDomain(user.getAuthDomain());
loginInfo.setLogoutUrl(userService.createLogoutURL(requestUri));
loginInfo.setIsAdmin(userService.isUserAdmin());
} else {
loginInfo.setLoggedIn(false);
loginInfo.setLoginUrl(userService.createLoginURL(requestUri));
}
return loginInfo;
}
但是user.getAuthDomain()总是返回“gmail.com”。
对于非谷歌应用用户来说应该是正确的。但是当我使用谷歌应用程序帐户登录时,它也会返回gmail.com。
任何想法为什么?或者是否有其他方法可以让用户获得当前域名?
答案 0 :(得分:2)
我会使用GWT.getHostPageBaseUrl()来访问主机页面的基本URL,并从中解析域名。
答案 1 :(得分:0)
这将解决你的问题:
`String domain=ApiProxy.getCurrentEnvironment().getAttributes().get("com.google.appengine.api.users.UserService.user_organization").toString();`