我正在使用Spring MVC的個人網頁與本地Tomcat 6服務器。我正在使用默認的Tomcat配置(默認情況下會設置eclipse)。Spring/Tomcat 6會話過期問題
在我的控制器(每個頁面使用一個控制器,並創建會話bean以在它們之間傳遞信息)我有兩個方法,一個用於捕獲POST,另一個用於捕獲GET請求方法。頁面邏輯將讓用戶點擊提交按鈕,並使用「重定向:abc.htm」返回將它們發送到新頁面或返回到GET方法。
我沒有明確處理cookies,但確實擁有Session Beans中的所有信息,並且正在使用Spring Security來處理安全/用戶管理。
我有一個彈簧安全配置,可以將用戶重定向回登錄頁面,如果他們沒有被授權。我也有一個ExceptionHandler捕獲HttpSessionRequiredException,雖然這不是我在用戶會話過期時觸發的(它使用我的Spring Security配置的邏輯)。
當會話過期時(我通過Tomcat管理器執行此操作),用戶被重定向回登錄頁面。他們在嘗試做某件事後重定向(點擊提交,或重新訪問除login.htm以外的任何頁面)。
我的問題是,一旦他們回到他們的會話到期的初始頁面,如果在到期時他們點擊了一個提交按鈕,它將他們重定向到最初的頁面並處理提交中的POST事件。
例子:
- 用戶登錄,並在主頁上
- 用戶會話過期
- 用戶的主頁上,點擊提交按鈕
- 用戶被重定向回login.htm頁面
- 用戶登錄並導航回主頁面。
- 而不是遵循主頁面的GET邏輯,它們被視爲主頁面的POST,我不確定POST變量來自哪裏。
有什麼方法可以追蹤這個錯誤來自哪裏,或者究竟是什麼原因造成的?
完美的工作。非常感謝。在閱讀default-target-url的文檔後,我可以確切地看到它在哪裏說這是導致錯誤。 – Nicholas