spring
的安全性
spring
安全性涉及到乙個基於
spring aop
和servlet
過濾器的安全框架。 ·
spring
安全性初探
spring
安全框架提供了宣告式
(declarative)
的安全機制,它提供了乙個綜合的安全解決方案用於處理
web請求或方法呼叫級別上的認證和授權。有了這個框架,
spring
可以充分使用注入依賴和面向切片技術的優勢。另外
spring
的安全機制以前以
acegi
聞名。
對於web
應用程式,
spring
的安全機制會使用
servlet
過濾器來過濾
servlet
請求並執行相應的認證操作。同時,
spring
使用了一種特殊的機制宣告
servlet
過濾器來保證注入依賴的執行;對於方法呼叫,
spring
的安全機制使用了
aop去**物件來確保使用者擁有許可權去呼叫受保護的方法。
無論上面哪種情況,
spring
的安全機制都由
5個核心的元件構成:
·安全***
(security interceptor):
可以理解為是阻止你訪問受保護資源的「門閂」。只有輸入了正確的使用者名稱密碼才能開啟這道「門閂」。乙個
security interceptor
的實際實現依賴於受保護資源。如果是乙個
url資源,
security interceptor
被實現成乙個
servlet
過濾器,但如果是乙個方法呼叫,
spring
將會使用切片。實際上,乙個
security interceptor
就是起到攔截資源訪問的作用,具體的實現它會委託給很多不同的管理器來完成。
·認證管理器
(authentication manager)
認證管理器的任務是對訪問者進行身份認證,通常是檢驗使用者名稱和密碼。
spring
安全機制中的認證管理器是乙個基於介面的外掛程式式元件,因此你可以使用任意認證機制。事實上,
spring
就提供了一組認證管理器。
·訪問決策管理器
(access decisions manager) 和
authentication manager
一樣,access decisions manager
也是外掛程式式的元件。一經身份認證,
spring
需要確定你是否有許可權訪問受保護資源,這時就需要訪問決策管理器來進行確認,它將根據你的許可權資訊和受保護資源的安全屬性來決定是否允許你訪問資源。 ·
run-as
管理器(run-as manager)
即使你通過了身份認證和許可權授權,你仍然面臨著更多的安全性約束。比如,你可能被授權瀏覽乙個
web頁面,但是那些產生頁面的物件可能具有不同的安全級別。
run-as manager
就被用來使用另乙個身份授權來代替你現有的身份授權,而這個身份授權將允許你訪問應用程式中更深層次的受保護物件。並不是所有的應用程式都有身份替換的需求,所以
run-as manager
只是可選的擔不是必須的。 ·
after-invocation manager
after-invocation manager
與其他元件不同,它是在資源被訪問之後執行安全機制。它主要用來保證從資源返回的資料的訪問安全性。如果乙個
after-invocation manager
被應用於乙個服務層
bean
,那麼它就會審查方法的返回值,然後確定使用者是否有許可權來檢視返回的物件。
after-invocation manager
還可以修改返回值來確保使用者只能方法返回值的某些屬性。和
run-as manager
一樣,並不是所有的應用都需要
after-invocation manager。
學習筆記9
函式 函式以def開頭,後面接函式名和括號,然後接冒號 函式的最後接return結束函式,並返回乙個值,可以沒有,就相當於返回none 函式呼叫時直接用函式名加括號 括號內為需要傳入的引數。傳入函式的引數是實參 在函式內使用的大多都為形參 形參只能在函式內使用,函式結束後就自動釋放記憶體了。函式中的...
學習筆記9
今天來進行系統的學習一下css 層疊樣式表 首先說一下層疊次序,四個優先權 1.瀏覽器預設設定 2.外部樣式表 3內部樣式表 位於 內部樣式表 內聯樣式 this is a paragraph 多重樣式 例 h1居中對齊 h1 h1 css的使用 背景 background color backgr...
spring學習筆記
spring中兩個十分重要的概念 ioc di aop 1.ioc di inverse of control dependence injection ioc 控制反轉,看起來比較牛b,說起來十分簡單。就是不使用傳統的將類的依賴關係用硬編碼來維護的方式,而是讓容器來管理類之間的依賴,依賴關係在全在...