2011-03-14 67 views
1

我想要實現某種形式的(GWT 2.1 MVP)預活動檢查,以確保用戶在呈現活動之前已遵守各種事情(例如登錄,同意讀取說明等),這些檢查也將採取活動的形式。ActivityMapper是阻止放置請求的正確位置

無論具體細節如何,我都希望保持活動的清潔,並且不要在每個活動中都執行此檢查。到目前爲止,我見過的最好的地方是ActivityMapper,我可以根據請求的地點執行檢查,並返回一個不同於請求的地方。也許FilteredActivityMapper可能是更好的方法。

理想情況下,我想保留最初請求的位置,或者在顯示這些中間(檢查)活動時不更新歷史記錄,或者將原始位置對象緩存在中間位置對象內,並且如果用戶接受該協議,然後開啓原來的地方。

有沒有人做過類似的事情,或者有一個更清潔的方法呢?

回答

1

如果你不堅持要在GWT模塊中登錄,並且可以使用jsps來做這三件事情,我建議: *在web.xml中創建安全約束並保護整個GWT模塊通過標準的Web容器功能。每次訪問不受保護的資源都將被重定向到登錄表單。 *使用servlet過濾器來檢查用戶是否同意t & c並閱讀描述並在http會話中存儲它的相關信息。

順便說一下,使用ActivityMapper作爲第二件事情會相當優雅,但對於登錄我肯定會使用服務器端,經過驗證的機制。

希望它有幫助。

+0

謝謝。我理解的理想是分離登錄,但我正在對付已在生產中的固定服務器端設置。在ActivityMapper部分,通過使用FilteredActivityMapper攔截它可以很好地工作。但是,當應用程序發展到包含多個區域時,我不得不復制過濾器代碼。現在考慮通過重寫PlaceController.goTo()來在本週期的早期攔截Place請求。 – Dan 2011-03-15 17:29:26