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

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

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

    隨筆 - 10, 文章 - 0, 評(píng)論 - 7, 引用 - 0
    數(shù)據(jù)加載中……

    Acegi工作流程

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

    第一部分:authentication

    1、acegi通過(guò)AuthenticationProcessingFilter攔截login請(qǐng)求獲取Principal和Credential信息(通俗一點(diǎn)就是用戶名和密碼);

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

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

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

    3、provider進(jìn)行驗(yàn)證。

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

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

    第二部分:authorization

    1、用戶提交請(qǐng)求,攔截器FilterSecurityInterceptor攔截請(qǐng)求,攔截器是一個(gè)Filter.

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

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

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

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

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

    安全攔截器

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

    認(rèn)證

      認(rèn)證請(qǐng)求
      認(rèn)證管理器
      Authentication Provider

    授權(quán)

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

    ContextHolder的用戶接口

      用戶接口目標(biāo)
      HTTP會(huì)話認(rèn)證
      HTTP Basic認(rèn)證

    posted on 2007-05-20 12:44 LiuTing 閱讀(654) 評(píng)論(1)  編輯  收藏 所屬分類: 身份認(rèn)證管理

    評(píng)論

    # re: Acegi工作流程  回復(fù)  更多評(píng)論   

    不懂,還是以用戶登錄寫(xiě)個(gè)吧
    2008-06-13 13:08 | xx

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 成年人免费网站在线观看| 久久www免费人成看国产片| 亚洲Av永久无码精品黑人| 亚洲av午夜电影在线观看| 色九月亚洲综合网| igao激情在线视频免费| a毛片全部播放免费视频完整18| 污视频在线观看免费| 国产精品色拉拉免费看| 免费无码一区二区三区蜜桃大| 免费在线观看中文字幕| 在线a亚洲v天堂网2019无码| 亚洲性天天干天天摸| 一区二区亚洲精品精华液| 免费高清A级毛片在线播放| 国产日韩AV免费无码一区二区| 18国产精品白浆在线观看免费| 大陆一级毛片免费视频观看| 国产成人精品久久亚洲| 亚洲五月六月丁香激情| 亚洲国产精品无码久久98| 抽搐一进一出gif免费视频| 4444www免费看| 国产亚洲福利一区二区免费看| 在线亚洲97se亚洲综合在线| 亚洲欧洲精品在线| 粉色视频免费入口| 免费看又黄又无码的网站| 午夜dj在线观看免费视频| 人人狠狠综合久久亚洲婷婷| 亚洲人配人种jizz| 二个人看的www免费视频| 久久天天躁狠狠躁夜夜免费观看| 亚洲高清偷拍一区二区三区 | 亚洲热线99精品视频| 亚洲成人黄色在线| 一区二区视频在线免费观看| 久久精品免费一区二区| 亚洲国产精品13p| 亚洲videos| 中文字幕一区二区免费|