2014-06-24 2 views
0

!/someRestrictedPlace로 로그인하여 탐색하면 LoggedInGatekeeper로 인해 로그인 페이지로 이동합니다. 성공적으로 로그인 한 후 나는 사용자가 리디렉션되는 것을 원하는 것은 내가 한 것은 DefaultPlaceManagerImpl 후 나는 다음과 같은 방법을 사용 PlaceManagerImpl를 확장 만드는 것입니다GWTP : 로그인 성공 후 unauthorizedPlaceRequest를 표시합니다.

/someRestrictedPlace!이 할 수있는 방법

@Override 

public void revealUnauthorizedPlace(String unauthorizedHistoryToken) { 

     revealPlace(unauthorizedPlaceRequest, true); 

} 

인가 , DefaultPlaceManage의 주석은 이것이 무한 루프를 생성 할 것이라고 말하기 때문에?

답변

0

여기 내 해결책이 있습니다. 내가 LoginPresenter에 있지만 #의 someRestrictedPlace로 리디렉션 내 PlaceManager에서

/RootPlace 토큰 작동하지 않습니다 성공적으로 로그인

if (placeManager.getHierarchyDepth() > 1) 
    placeManager.revealRelativePlace(-1); 
else 
    placeManager.revealPlace(...some default place..., true); 
+0

귀하의 솔루션을 한 후 내 LoginPresenter에서

public void revealUnauthorizedPlace(String unauthorizedHistoryToken) { revealRelativePlace(new PlaceRequest(NameTokens.login)); } 

로그인. placeManager.getHierarchyDepth()는 항상 1이므로 – confile

+0

"RootPlace 토큰"이란 무엇입니까? "#"없이 url로 이동하면 PlaceManager가 일부 기본 위치로 리디렉션됩니다. 이 장소가 무단으로 될 경우 revealUnautjorizedPlace 메소드가 someDefault/login으로 리디렉션됩니다. 그러면 LoginPresenter가 사용자/암호 필드 (또는 로그인 할 다른 항목)로 활성화됩니다. 로그인 성공 후 LoginPresenter에서 hierarhyDepth를 확인하고 다음으로 리디렉션 할 위치를 결정합니다. –

관련 문제