2015-07-20 65 views
0

在我的Web應用程序中,我有用戶的表單登錄和服務器到服務器API調用的基本身份驗證。基本認證流程是無狀態的,但表單登錄不是。 當有人請求API使用基本身份驗證我得到了下面的日誌無法創建會話,因爲響應已提交

Failed to create a session, as response has been committed. 

經過一番研究,我發現幾個主題與建議,使用NullSecurityContextRepository或設置<http create-session='never' /> 我不能使用這些解決方案,因爲它會破壞形式登錄警告流。

如何僅在基本身份驗證流程中禁用會話創建?

感謝

回答

0

使用Spring Security 3.1開始,你可以以差異保護的URL模式配置multiple <http>元素。這應該允許您爲不同的http元素創建不同的會話創建策略。

請檢查上面的鏈接,使用form和http-basic認證的不同螞蟻模式的多個http元素的命名空間配置。希望這可以幫助! :)

+0

感謝您的回答。不幸的是,我不能使用這個解決方案,因爲我必須支持使用基本和表單身份驗證的相同url模式。 –

+0

什麼是您的完整使用案例,以及如何區分正常請求和API調用?您也可以根據他們使用的http方法來處理您的請求。請提供一些有關您的問題的信息,那麼我可能會或者社區中的其他人能夠更好地幫助您。 –

相關問題