【问题标题】:GWTP GatekeeperGWTP 网守
【发布时间】:2017-02-13 06:06:12
【问题描述】:

我从 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)?以及是否给他权限,取决于权限

【问题讨论】:

    标签: java gwt gwtp


    【解决方案1】:

    当然,只需将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;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多