Storing the SecurityContext between requests

Storing the SecurityContext between requests


        根據不同的應用程序類型,在用戶操作的過程中需要有合適的策略來保存security信息。在一個典型的web應用中,一個用戶登錄系統之後就會被一個特有的session id所唯一標識,服務器會將session作用期間的principal數據保存在緩存中。在Spring Security中,保存SecurityContext的任務落在了SecurityContextPersistenceFilter身上,它默認將上下文當做HttpSession屬性保存在http請求中,並且將每一個請求的上下文保存在SecurityContextHolder中,最重要的功能,是在請求結束之後,清理SecurityContextHolder。你不需要處於安全的目的直接和HttpSession打交道,在這裏僅僅只是不需要那樣做--總是使用SecurityContextHolder來代替HttpSession。
        許多其他的應用(舉個例子:一個無狀態的RESTful風格web服務)不使用Http Session並且每次請求過來都會進行驗證。然而比較重要的是:SecurityContextPersistenceFilter被包含在了過濾器鏈中,並確保每次請求完畢之後清理SecurityContextHolder。

參考資料來自《Spring Security Reference Documentation(3.1)》,下載地址:http://download.csdn.net/detail/u010009900/9169039
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章