当用户未登录并导航到!/someerestrictedplace时,由于LoggedInGatekeeper,他将导航到登录页面。成功登录后,我希望将用户重定向到!/someerestrictedplace
我所做的是创建一个DefaultPlaceManagerImpl扩展PlaceManagerImpl然后我使用以下方法:
@Override
public void revealUnauthorizedPlace(String unauthorizedHistoryToken) {
revealPlace(unauthorizedPlaceRequest, true);
}
这是这样做,因为在DefaultPlaceManage的注释说,这将创建一个无限循环?
这是我的解决方案。
在我的PlaceManager中,我重定向到LoginPresenter,但通过# someerestrictedplace/login
public void revealUnauthorizedPlace(String unauthorizedHistoryToken)
{
revealRelativePlace(new PlaceRequest(NameTokens.login));
}
在我的LoginPresenter成功登录后
if (placeManager.getHierarchyDepth() > 1)
placeManager.revealRelativePlace(-1);
else
placeManager.revealPlace(...some default place..., true);