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

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

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

    posts - 431,  comments - 344,  trackbacks - 0
    Acegi工作流程

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

    第一部分:authentication

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

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

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

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

    3、provider進行驗證。

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

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

    第二部分:authorization

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

    2 、鑒權,攔截器調用AccessDecisionManager進行鑒權。

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

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

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

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

    安全攔截器

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

    認證

      認證請求
      認證管理器
      Authentication Provider

    授權

      Access Decision Manager
      Voting Decision Manager
      授權管理推薦

    ContextHolder的用戶接口

      用戶接口目標
      HTTP會話認證
      HTTP Basic認證
    posted on 2006-12-20 12:51 周銳 閱讀(267) 評論(0)  編輯  收藏 所屬分類: Spring
    主站蜘蛛池模板: 亚洲午夜未满十八勿入网站2| 无码国产精品一区二区免费| 日本免费一区尤物| 911精品国产亚洲日本美国韩国| 国内少妇偷人精品视频免费| 亚洲精品无码久久一线| 成人无码区免费A∨直播| 亚洲精品成人网久久久久久| 成人午夜免费视频| 亚洲色成人中文字幕网站| 国产男女爽爽爽免费视频| 亚洲日韩在线观看| 99久久国产精品免费一区二区| 香蕉免费看一区二区三区| 国产亚洲成人久久| a级片免费在线观看| 国产精品无码一区二区三区免费| 亚洲丰满熟女一区二区哦| 免费国产叼嘿视频大全网站| 77777_亚洲午夜久久多人 | 精品多毛少妇人妻AV免费久久| 激情97综合亚洲色婷婷五| 国产免费AV片在线观看| 亚洲黄色在线视频| 四虎www成人影院免费观看| 亚洲乱码国产乱码精品精| 日韩电影免费在线观看中文字幕| 亚洲国产午夜精品理论片| 四色在线精品免费观看| 一级黄色片免费观看| 香蕉蕉亚亚洲aav综合| 999在线视频精品免费播放观看| 亚洲线精品一区二区三区| 久久久久久夜精品精品免费啦| 四色在线精品免费观看| v片免费在线观看| 亚洲AV无码一区二区三区在线观看| 羞羞视频免费网站在线看| 亚洲人成人77777网站不卡| 日本人护士免费xxxx视频| a级午夜毛片免费一区二区|