• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    Web Service實現軟件質量保證SOA的關注點分離

    發布: 2009-8-18 11:07 | 作者: 不詳 | 來源: 領測軟件測試網 | 查看: 34次 | 進入軟件測試論壇討論

    領測軟件測試網

    為了使這些方面無縫工作,需要將Web service安全上下文連接到Acegi安全上下文——因此定制的Axis處理程序類的名稱為AcegiBridgeAuthenticationHandler。它不僅將處理Web service安全性,還負責將從該過程獲取的安全上下文連接到Acegi環境,這樣Acegi就可以決定是否授權訪問POJO。方法是從Web service請求消息中提取安全聲明,進行驗證,然后創建認證令牌,因為我們已經為本例選擇了用戶名/密碼認證,所以為UsernamePasswordAuthenticationToken。然后將該認證令牌設置到Acegi SecurityContext中,這樣稍后在控制訪問業務邏輯POJO時,Acegi可以使用請求方的證書和權限。

      下面將解釋如何使用Spring把各方面聯系起來。法寶就是圖1中名為AOP proxy的小綠色對象,由Spring生成。該對象實現了AccountMgr接口,并擔當業務邏輯POJO AccountMgrImpl的代理。這允許Spring插入Acegi的MethodSecurityInterceptor,當有人嘗試在POJO上調用方法時,會執行訪問控制檢查。當FundsTransferServiceSoapBindingImpl將Web service請求委派給POJO時,實際上是委派給AOP代理的實例,而不是直接委派給AccountMgrImpl。由于FundsTransferServiceSoapBindingImpl擴展了ServletEndpointSupport,因此它可以訪問Spring應用程序上下文,以獲得配置了正確接口、偵聽器和目標類的AOP代理的引用AccountMgrImpl。

      圖2中的序列圖演示了客戶端調用FundsTransferService時,將發生的處理流程。請求消息由Axis Engine接收,然后調用AcegiBridgeAuthenticationHandler。AcegiBridgeAuthenticationHandler將驗證認證信息,然后創建UsernamePasswordAuthenticationToken。接著,將該令牌設置到Acegi的SecurityContext中,用于稍后使用。AcegiBridgeAuthenticationHandler成功返回后,Axis Engine將在FundsTransferServiceSoapBindingImpl上調用transferFunds()方法。FundsTransferServiceSoapBindingImpl將其委派給AOP代理,在初始化過程中,可以較早從Spring web應用程序上下文獲取。AOP proxy將調用Acegi MethodSecurityInterceptor,這樣就可以進行它的安全檢查。MethodSecurityInterceptor從SecurityContext獲取認證令牌,然后檢查是否已經對其進行了認證。接下來,將使用認證令牌中的信息來確定是否應該授權客戶端的訪問,在AccountMgrImpl上調用transferFunds()方法。如果允許客戶端進行訪問,那么MethodSecurityInterceptor將允許調用該方法,然后進入AccountMgrImpl。最后AccountMgrImpl處理該請求,并返回結果,最終傳送回客戶端程序。

      

      圖2.演示服務實現處理流程的序列圖

      業務邏輯實現和配置

      我們的討論將從解釋業務邏輯類的實現和配置開始,因為他們是最簡單的。AccountMgr接口和AccountMgrImpl類的源代碼參見參考資料。從源代碼中可以發現,事實上實現并沒有做任何事情,所以可以保持其簡單,因為本文并不是關于如何編寫轉移資金代碼的文章。

      

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    52/5<12345>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>