一、問題
項目使用spring security安全框架,在跳轉登陸頁時需要獲取地址參數,進行業務處理。但是request中並沒有任何參數攜帶。
二、處理問題
原來spring security在進行頁面跳轉處理時,相當於二次跳轉,並將所有參數存放與session中的一個對象中,key爲 SPRING_SECURITY_SAVED_REQUEST,返回一個DefaultSavedRequest對象,這個對象中就有所有需要的參數了。當然正常的登陸認證後的請求還是可以正常獲取的,這個只針對框架過濾的請求。
三、代碼
DefaultSavedRequest defaultSavedRequest = (DefaultSavedRequest) request.getSession().getAttribute("SPRING_SECURITY_SAVED_REQUEST");