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

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

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

    常言笑的家

    Spring, Hibernate, Struts, Ajax, RoR

    Acegi工作流程

    任何一個安全系統(tǒng)都包括authentication和authorization兩部分,Acegi相同。

    第一部分:authentication

    1、acegi通過AuthenticationProcessingFilter攔截login請求獲取Principal和Credential信息(通俗一點就是用戶名和密碼);

    2、驗證用戶名密碼,由這個Filter調(diào)用認證管理器AuthenticatiomManager進行驗證。

    AuthenticatiomManager本身并不具備驗證的功能,它相當(dāng)與是一個驗證控制器,由它來管理驗證的過程及方式。AuthenticatiomManager是通過調(diào)用provider來進行驗證的,一個manager中可以具有多個provider,但只要有一個provider驗證通過,manager就認為驗證成功。

    這部分要明白三點:一,provider是可以配置進去的,因為acegi是基于spring的;二是AuthenticatiomManager是可以被重寫的,你可以將manager改成你自己希望的控制器;三,好好利用event,這是標(biāo)準(zhǔn)的observer模式。acegi中的設(shè)計模式研究將在以后的貼子中討論。

    3、provider進行驗證。

    provider是真正的驗證模塊,并且決定了驗證的模式。provider目前acegi提供了dao、jaas,cas,x509,ldap等幾種驗證方式,這些驗證方式的具體內(nèi)容可以查閱acegi的文檔。provider驗證通過后將Authentication對象返回。

    4、AuthenticationProcessingFilter將對象保存到ContextHolder中。Authentication部分結(jié)束。

    第二部分:authorization

    1、用戶提交請求,攔截器FilterSecurityInterceptor攔截請求,攔截器是一個Filter.

    2 、鑒權(quán),攔截器調(diào)用AccessDecisionManager進行鑒權(quán)。

    AccessDecisionManager是通過投票的方式來決定是否有權(quán)限訪問資源。所謂投票就要包括投票的參與者和投票的策略。

    投票的參與者decisionVoters,這是AccessDecisionManager的一個屬性。decisionVoter能從某一個角度決定用戶是否能訪問資源,例如RoleVoter來判斷用戶的角色是否有權(quán)限訪問資源,MaxuserVoter來決定某個資源的訪問用戶數(shù)是否已經(jīng)達到了最大值等。

    投票策略。投票的策略是通過不同的AccessDecisionManager來實現(xiàn)的,例如acegi提供的AffirmativeBased對象,這個對象的策略就是只要有一個投票通過就全體通過。UnanimousBased對象的策略是必須全體投票通過才能通過。但在大多數(shù)情況下acegi提供的AccessDecisionManager不能滿足我們的要求,這就需要我們?nèi)崿F(xiàn)AccessDecisionManager接口,去定制適合自己項目的策略。

    3、投票。投票對象必須實現(xiàn)AccessDecisionVoter接口。投票對象關(guān)注的是某一方面的決定權(quán),如果投票通過則Vote方法來完成的。vote方法必須返回一個int型的數(shù)據(jù)代表投票結(jié)果,它們是AccessDecisionVoter的三個靜態(tài)成員屬性:ACCESS_ABSTAIN,,ACCESS_DENIED和ACCESS_GRANTED,它們分別是棄權(quán),否決和贊成。
     

    安全攔截器

      攔截器如何工作
      MethodInvocation攔截器
      FilterInvocation攔截器

    認證

      認證請求
      認證管理器
      Authentication Provider

    授權(quán)

      Access Decision Manager
      Voting Decision Manager
      授權(quán)管理推薦

    ContextHolder的用戶接口

      用戶接口目標(biāo)
      HTTP會話認證
      HTTP Basic認證

    posted on 2006-12-16 22:48 常言笑 閱讀(269) 評論(0)  編輯  收藏 所屬分類: JAVA/J2EE

    My Links

    Blog Stats

    常用鏈接

    留言簿(5)

    隨筆分類

    隨筆檔案

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: xxxxxx日本处大片免费看| 在线精品自拍亚洲第一区| 好猛好深好爽好硬免费视频| 国产精品免费看久久久久| 在线亚洲午夜片AV大片| 成人黄软件网18免费下载成人黄18免费视频 | 日本一道本高清免费| 亚洲另类自拍丝袜第五页| 免费看a级黄色片| 亚洲人AV在线无码影院观看| 成熟女人特级毛片www免费| 一本色道久久综合亚洲精品蜜桃冫| 无码国产精品一区二区免费I6| 亚洲砖码砖专无区2023| 国产乱弄免费视频| 无码的免费不卡毛片视频| 国产精品亚洲高清一区二区| 成人无码WWW免费视频| 777亚洲精品乱码久久久久久 | 亚洲第一页综合图片自拍| 99re6在线视频精品免费| 中文字幕亚洲综合精品一区| 无人在线观看免费高清视频| 亚洲av午夜国产精品无码中文字| 国产免费观看黄AV片| 国产中文字幕在线免费观看| 67pao强力打造67194在线午夜亚洲| 韩国免费一级成人毛片| 国产成人亚洲精品无码AV大片| 亚洲午夜国产精品无码| 色老头永久免费网站| 国产精品亚洲二区在线| 亚洲国产精品成人精品无码区在线| 182tv免费视视频线路一二三| 亚洲欧美日韩一区二区三区| 亚洲色婷婷一区二区三区| 一色屋成人免费精品网站| 春暖花开亚洲性无区一区二区| 国产亚洲视频在线播放| 无码一区二区三区AV免费| 一级人做人爰a全过程免费视频|