<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    無為

    無為則可為,無為則至深!

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      190 Posts :: 291 Stories :: 258 Comments :: 0 Trackbacks

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

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

    ConcurrentSessionFilter 因為不使用任何SecurityContextHolder的功能,但是需要更新SessionRegistry來表示當(dāng)前的發(fā)送請求的principal,通過在web.xml中注冊Listener監(jiān)聽Session事件,并發(fā)布相關(guān)消息,然后由SessionRegistry獲得消息以判斷當(dāng)前用戶的Session數(shù)量。

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

    CasProcessingFilter CAS認證機制

    BasicProcessingFilter Http協(xié)議的Basic認證機制

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

    JbossIntegrationFilter 與Jboss相關(guān)。

    SecurityContextHolderAwareRequestFilter 與servlet容器結(jié)合使用。

    RememberMeProcessingFilter 基于Cookies方式進行認證。

    AnonymousProcessingFilter 匿名認證。

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

    AuthenticationEntryPoint 認證入口

    三、Acegi認證授權(quán)流程
    1、FilterToBeanProxy 負責(zé)代理請求給FilterChainProxy

    2、FilterChainProxy 方便的將多個Filter串聯(lián)起來,如上面基本概念中提到的各種Filter,當(dāng)然如果對URI進行授權(quán)保護,也可以包含F(xiàn)ilterSecurityInterceptor。注意各Filter的順序。

    3、AbstractSecurityInterceptor 調(diào)度中心。負責(zé)調(diào)用各模塊完成相應(yīng)功能。
    FilterSecurityInterceptor 對URI進行攔截保護
    AspectJSecurityInterceptor 對方法進行攔截保護
    MethodSecurityInterceptor 對方法進行攔截保護

    4、AuthenticationManager 用戶認證
    -> AuthenticationProvider 實際進行用戶認證的地方(多個)。
    -> UserDetailsService 返回帶有GrantedAuthority的UserDetail或者拋出異常。

    5、AccessDecisionManager(UnanimousBased/AffirmativeBased/ConsensusBased) 授權(quán)
    -> AccessDecisionVoter(RoleVoter/BaseAclEntryVoter) 實際投票的Voter(多個).

    6、RunAsManager 變更GrantedAuthority

    7、AfterInvocationManager 變更返回的對象
    -> BaseInvocationProvider 實際完成返回對象變更的地方(多個)。

     



    凡是有該標(biāo)志的文章,都是該blog博主Caoer(草兒)原創(chuàng),凡是索引、收藏
    、轉(zhuǎn)載請注明來處和原文作者。非常感謝。

    posted on 2007-12-16 21:31 草兒 閱讀(1220) 評論(0)  編輯  收藏 所屬分類: JAVA WEB應(yīng)用
    主站蜘蛛池模板: 亚洲一区精彩视频| 久久精品国产精品亚洲艾草网| 亚洲美女视频免费| 一区二区三区无码视频免费福利| 亚洲av高清在线观看一区二区| 国产亚洲精品美女久久久久 | 免费人成再在线观看网站| 在线视频免费国产成人| 亚洲一本之道高清乱码| 男男AV纯肉无码免费播放无码| 亚洲AV一二三区成人影片| 国内精品免费视频自在线| 久久亚洲精品11p| 国产一区二区三区免费视频| 看成年女人免费午夜视频| 亚洲精品无码成人片在线观看 | 亚洲国产精品无码久久九九| 精品人妻系列无码人妻免费视频| 亚洲成在人线av| 免费a级毛片无码a∨蜜芽试看 | 一个人免费视频观看在线www| 亚洲精选在线观看| 国产va精品免费观看| 国产亚洲精品AAAA片APP| 久久亚洲国产成人影院网站| 国产精品免费无遮挡无码永久视频| 亚洲精品视频久久| 日本免费一区二区三区最新vr| 四虎影视永久在线精品免费| 亚洲国产精品一区| 在线免费观看一级毛片| 插鸡网站在线播放免费观看| 亚洲日韩乱码中文无码蜜桃| 国产在线观看免费视频播放器| a在线观看免费网址大全| 亚洲 日韩 色 图网站| 亚洲男人的天堂在线va拉文| 99久久人妻精品免费一区| 色九月亚洲综合网| 久久青青草原亚洲AV无码麻豆| 毛片免费在线视频|