我做了一些来自GWTP的例子
http://blog.arcbees.com/2015/10/27/gwtp-beginners-tutorial-toaster-launcher-part-2/#Gatekeeper
@DefaultGatekeeper
public class LoggedInGatekeeper implements Gatekeeper {
private CurrentUser currentUser;
@Inject
public LoggedInGatekeeper(CurrentUser currentUser) {
this.currentUser = currentUser;
}
@Override
public boolean canReveal() {
return currentUser.isLoggedIn();
}
}在这里,如果用户是登录用户,我们将提供访问权限。
有没有可能找出想要使用哪个页面(NameToken)?以及是否给予他权限,这取决于权限
发布于 2017-02-13 06:05:58
当然,只需将一个PlaceManager注入到您的LoggedInGatekeeper中,调用getCurrentPlaceRequest,然后将其与您的NameToken进行比较。大致是这样的:
@DefaultGatekeeper
public class LoggedInGatekeeper implements Gatekeeper {
private CurrentUser currentUser;
private PlaceManager placeManager;
@Inject
public LoggedInGatekeeper(CurrentUser currentUser, PlaceManager placeManager) {
this.currentUser = currentUser;
this.placeManager = placeManager;
}
@Override
public boolean canReveal() {
PlaceRequest request = placeManager.getCurrentPlaceRequest();
if (request.hasSameNameToken('someNameToken') {
return currentUser.isLoggedIn();
}
return true;
}
}https://stackoverflow.com/questions/42190424
复制相似问题