我Activity/Place
在我的 GWT 项目中使用,如果当前用户未登录,当他导航到 somePlace
时,用户将被重定向到登录页面,如果用户已登录,那么他将被带到那个Place
. 如何有效地实现这个逻辑?
我试图挂钩 PlaceChangeRequestEvent:
eventBus.addHandler(PlaceChangeRequestEvent.TYPE,new PlaceChangeRequestEvent.Handler() {
@Override
public void onPlaceChangeRequest(PlaceChangeRequestEvent event) {
Place newPlace = event.getNewPlace();
if (newPlace instanceof MyProtectedPlace && userNotLoggedIn()) {
event.goTo(new LoginPlace());
}
}
});
不幸的是,它不起作用,因为正在进行的请求MyProtectedPlace
没有被取消。是的,当用户即将离开当前位置时,我可以检查这一点,但这不会有效,因为检查逻辑将分散在整个程序中。
谢谢。