我有一個受保護的頁面檢票口安裝了一個路徑參數,比如這個:如何在檢票口登錄頁面使用路徑參數
class MyApp extends AuthenticatedWebApplication {
@Override protected void init() {
mountPage("/login/${site}", MyLoginPage.class);
mountPage("/admin/${site}", MyAdminPage.class);
}
@Override protected Class<? extends WebPage> getSignInPageClass() {
return MyLoginPage.class;
} }
@AuthorizeInstantiation("ADMIN")
class MyAdminPage extends WebPage { ... }
我想保持這個「點」參數在登錄頁面(我需要登錄過程中的這個參數)。但顯然默認AuthenticatedWebApplication::onUnauthorizedInstantiation
攔截器重定向到沒有任何參數的登錄頁面,所以當訪問管理頁面時,我被重定向到一個NULL站點的登錄頁面...
我該如何重新使用「站點」參數在登錄頁面?我最終可以重寫我自己的AuthenticatedWebApplication來編寫一個特定的onUnauthorizedInstantiation攔截器,但是可能有一種更簡單的方法來實現。
一個要求是保持登錄頁面可收藏,所以「site」參數應該是URL的一部分(作爲路徑參數)。
你吃過看看continueToOriginalDestination法已經(http://ci.apache.org/projects/wicket/apidocs/6.0.x/org/apache/wicket/Component.html#continueToOriginalDestination% 28%29)?我只需安裝我的(安全)頁面,如果您在打電話時未登錄,則會重定向到登錄頁面,然後從那裏進入原始網站。沒有將URL作爲參數傳遞的麻煩。 –
問題是將原始頁面的「站點」頁面參數傳遞給登錄頁面本身,而不是原來的頁面參數。重定向到原始頁面不是問題。 –
但爲什麼你需要在你的登錄頁面中的「站點」參數? –