判断用户是否已登录的方法根据执行端的不同而不同,主要有三种:
一、后端:
后端主要采用Guice的注入框架,可直接引用CurrentUser类来判断:
引入:
import com.google.inject.Inject;
import com.google.gerrit.server.CurrentUser;
import com.google.inject.Provider;
声明:
@Inject
Private Provider<CurrentUser> userProvider
判断:
if (userProvider.get().isIdentifiedUser()){
//有效用户
}
二、前端GWT:
前端gwt可直接引用Gerrit的API:
引入:
import com.google.gerrit.plugin.client.Plugin;
这个Plugin还可以提供:插件名字、当前用户信息、当前用户选项、执行页面刷新、获取服务器信息、显示错误信息等
判断:
if (Plugin.get().isSignedIn()){
//已登录
}
三、前端JS:
主要使用Gerrit提供的JavaScript API:self.getCurrentUser(),未登录时,返回null空,否则返加JavaScriptObject实体。具体引用可参考cookbook例子里的脚本。