Acegi

一、基本原理
Acegi認證授權主要基於兩大技術,一是Filter機制,二是AOP的攔截機制。通過FilterSecurityInterceptor很好地實現了對URI的保護,通過MethodSecurityInterceptor實現了對Service的方法的攔截保護,通過ACL 實現了對prototype類型的Object進行過濾和保護。

二、基本概念
HttpSessionContextIntegrationFilter 存儲SecurityContext in HttpSession
ChannelProcessingFilter 重定向到另一種協議,如http到https

ConcurrentSessionFilter 因爲不使用任何SecurityContextHolder的功能,但是需要更新SessionRegistry來表示當前的發送請求的principal,通過在web.xml中註冊Listener監聽Session事件,併發布相關消息,然後由SessionRegistry獲得消息以判斷當前用戶的Session數量。

AuthenticationProcessingFilter 普通認證機制(大多數用這個)

CasProcessingFilter CAS認證機制

BasicProcessingFilter Http協議的Basic認證機制

HttpRequestIntegrationFilter Authentication 從容器的HttpServletRequest.getUserPrincipal()獲得

JbossIntegrationFilter 與Jboss相關。

SecurityContextHolderAwareRequestFilter 與servlet容器結合使用。

RememberMeProcessingFilter 基於Cookies方式進行認證。

AnonymousProcessingFilter 匿名認證。

ExceptionTranslationFilter 捕獲所有的Acegi Security 異常,這樣要麼返回一個HTTP錯誤響應或者加載一個對應的AuthenticationEntryPoint

AuthenticationEntryPoint 認證入口

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章