我正在运行一个 Google App Engine 项目,每次用户执行操作时,我都想检查用户是否 1)登录 2)管理员。这是我为 appuser 提供的代码:
class AppUser
{
private UserService userService;
private User user;
public AppUser()
{
userService = UserServiceFactory.getUserService();
user = userService.getCurrentUser();
}
public IsAdministrator()
{
if(IsLoggedIn())
{
return userService.IsUserAdmin();
}
return false;
}
public IsLoggedIn()
{
return user == null;
}
}
当我使用我的应用程序注销时,它工作正常。但是,如果我在另一个页面上注销(例如在谷歌日历或其他页面上),应用程序仍然认为我已登录。还有其他更好的方法来检查用户是否仍然登录?
我也知道这可以通过 web.xml 中的 security-constraint 来完成,但是在这种情况下这将不起作用,因为如果用户已注销,我需要采取某些措施。
我正在使用 App Engine SDK 1.7 和 GWT SDK 2.4