我們有REST API的應用程序。它基於Spring,也使用Spring安全性。 例如,我們配置了一些基於角色的限制:如何使基於Spring的應用程序使用jsessionid URL參數工作
<sec:http auto-config="true" access-decision-manager-ref="accessDecisionManager">
<sec:intercept-url pattern="/auth/authenticate" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
<sec:intercept-url pattern="/auth/logout" access="IS_AUTHENTICATED_FULLY"/>
<sec:intercept-url pattern="https://stackoverflow.com/users/**" access="USER"/>
</sec:http>
它正常工作與餅乾,但現在我們需要啓用的可能性,通過JSESSIONID作爲URL PARAM代替餅乾。我認爲我們不需要在我們的代碼中改變任何東西,但出現了一些問題。 我請求/登錄方法並從響應複製jsessionid。從那以後,我嘗試請求 /用戶; JSESSIONID = *並得到了401狀態碼,這意味着應用程序沒認出我。爲了使這種方法有效,我們應該改變什麼?
如果您在瀏覽器中禁用Cookie,然後登錄會發生什麼? – Ralph 2012-02-20 12:08:02
我得到了正確的JSON響應,例如{「result」:{「status」:「SUCCESS」,「message」:「Request Succeeded」,「timestamp」:1329740163355},「data」:{「email」:「user @ **。com「,」roles「:[」USER「]}}和標題來設置jsessionid cookies – Mikhail 2012-02-20 12:11:37
讓我總結一下:JSessionID在瀏覽器中工作,但不在您的休息客戶端中? – Ralph 2012-02-20 12:12:44