五種最重要Acegi的安全過濾器學習

2021-06-16 02:18:25 字數 2060 閱讀 8871

一 session integration filter(sif)

acegi 的 session integration filter(sif)通常是您將要配置的第乙個過濾器。sif

建立了乙個安全上下文物件,這是乙個與安全相關的資訊的佔位符。其他 acegi 過濾器將安全資訊儲存在安全上下文中,也會使用安全上下文中可用的安全資訊。

sif建立安全上下文並呼叫

過濾器鏈中的其他過濾器。然後其他過濾器檢索安全上下文並對其進行更改。比如,authentication processing filter將使用者資訊(如使用者名稱、密碼和電子郵件位址)儲存在安全上下文中。 當所有的處理程式完成處理後,sif 檢查安全上下文是否更新。如果任何乙個過濾器對安全上下文做出了更改,sif 將把更改儲存到伺服器端的會話物件中。如果安全上下文中沒有發現任何更改,那麼 sif 將刪除它。

配置 sif

二  authentication processing filter(apf)

acegi 使用authentication processing filter(apf)

進行身份驗證。apf

使用乙個身份驗證(或登入)表單,使用者在其中輸入使用者名稱和密碼,並觸發身份驗證。

apf執行所有的後端身份驗證處理任務,比如從客戶機請求中提取使用者名稱和密碼,從後端使用者庫中讀取使用者引數,以及使用這些資訊對使用者進行身份驗證。

在配置 apf 時,您必須提供如下引數:

1 authentication manager

指定了用來管理身份驗證提供者的身份驗證管理器。

2 filter processes url

指定了客戶在登入視窗中按下 sign in 按鈕時要訪問的 url。收到這個 url 的請求後,acegi 立即呼叫 apf。

3 default target url 指定了成功進行身份驗證和授權後呈現給使用者的頁面。

4 authentication failure url 指定了身份驗證失敗情況下使用者看到的頁面。

apf 從使用者的請求物件中得到使用者名稱、密碼和其他資訊。它將這些資訊傳送給身份驗證管理器。身份驗證管理器使用適當的提供者從後端使用者庫中讀取詳細的使用者資訊(如使用者名稱、密碼、電子郵件位址和使用者訪問權利或特權),對使用者進行身份驗證,並將資訊儲存在乙個 authentication 物件中。最後,apf 將authentication 物件

儲存在 sif 之前建立的安全上下文中。儲存在安全上下文中的authentication 物件將用於做出授權決策。

概括:apf

得到使用者資訊,傳送給

身份驗證管理器,身份驗證管理器驗證

後將使用者資訊儲存在

authentication 物件

中,apf將authentication 物件儲存在安全上下文(sif建立的)。

配置 apf

三 logout processing filer(lpf)

acegi 使用乙個logout processing filer(lpf)管理登出處理。當客戶機發來登出請求時,將使用 lpf 進行處理。它標識了來自由客戶機所呼叫 url 的登出請求。

配置lpf

四 exception translation filter(etf)

exception translation filter(etf)

處理身份驗證和授權過程中的異常情況,比如授權失敗。在這些異常情況中,etf 將決定如何進行操作。

比如,如果乙個沒有進行身份驗證的使用者試圖訪問受保護的資源,etf 將顯示乙個登入頁面要求使用者進行身份驗證。類似地,在授權失敗的情況下,可以配置 etf 來呈現乙個 access denied 頁面。

配置 etf

可以看到etf 包含兩個引數,名為authenticationentrypointaccessdeniedhandlerauthenticationentrypoint屬性指定登入頁面,而accessdeniedhandler指定 access denied 頁面。

php常用的安全過濾函式

由於越來越多的專案開始使用框架,所以,很多的程式設計師也不在關心安全的問題!因為框架已經幫我們幾乎完美的處理了!但是,個人認為,我們還是需要了解一下常用的安全處理函式!原因簡單 很多小的功能和專案是用不到框架的,我們需要自己解決安全問題!mysql real escape string addsla...

php 的安全過濾(基礎篇)

php 5.2 以上提供了乙個非常簡單好用的自帶函式 filter var 下面是對這個函式使用的詳細介紹。驗證資料型別是否為boolean 舉例 php view plain copy value01 true if filter var value01 filter validate boole...

php常用的安全過濾函式

目錄結構 由於越來越多的專案開始使用框架,所以,很多的程式設計師也不在關心安全的問題!因為框架已經幫我們幾乎完美的處理了!但是,個人認為,我們還是需要了解一下常用的安全處理函式!原因簡單 很多小的功能和專案是用不到框架的,我們需要自己解決安全問題!mysql real escape string a...