国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

WCF安全知識講解

開發 開發工具
WCF安全在實際使用中是相當重要的。它能夠幫助我們保護所開發項目的數據安全。希望大家可以通過這篇文章的內容了解其重要性。

WCF開發框架為我們帶來了許多好處。一個功能強大的開發工具當然要具備良好的安全性能。在這里我們就來講講有關WCF安全的相關知識。#t#

對于一個應用程序來說,最重要的特性之一就是安全性。例如,安全方面的需求往往會最早被提出,安全方面Bug的優先級和危害程度往往都被定為***。有時候為了提高安全性,還需要犧牲一定的性能或者其他因素。因為性能,往往可以通過一些別的方式,例如添加一臺服務器作負載均衡來解決(順便插一句,我現在覺得對于企業來說,能夠用錢解決的往往就不是問題了),或者在之后的版本中進行優化;但是如果出了安全性方面的漏洞,很可能就已經造成了無法彌補的損失。

試想,如果Windows Live Passport出現了安全上的漏洞導致用戶信息泄露,這將會引出多大的風波,對于微軟來說會造成多少名譽上的損害。但是如果性能上出現了問題——這方面例如Windows Live Space或Hotmail的早期版本都不怎么樣,但是在優化之后還是吸引了大量的用戶群體。

WCF安全是如此的重要,自然WCF也會為它提供了良好的支持,否則也無法稱之為一個成熟的模型了(我認為,微軟希望,也正在把WCF變成.NET或者說Windows平臺下分布式通信的事實標準)。但是雖然WCF提出了豐富而強大的安全性支持,但是如果使用不當,依舊會產生安全方面的問題(同樣的例子還有Sql注入,要保證安全型還是必須通過良好的編程實踐來達成),甚至還不如不依賴WCF的功能,直接使用傳統的方式,例如使用硬件或軟件防火墻來阻止非法的連接。

反過來說,選擇什么樣的安全實踐也是要考慮到項目的實際情況。例如有的時候我們的確可以使用傳統的方式來保證安全性,再今后的版本中再采用高級的實踐——尤其我們現在有了WCF提供的模型,我們的優化可能只是部署一個新的程序集,然后更新一下配置而已。

Service Model和Channel Layer

WCF提出的通信模型主要可以分為兩大部分:Service Model和Channel Layer。它們各司其職,“互不干涉內政”,因此,能夠自由地組合與擴展,使開發人員能夠利用WCF提出的模型來輕松實現強大的通信功能。不過事實上,按照官方的說法,Channel Layer是Service Model的組成部分(而且官方的說法的確還是有道理啊),但是我在了解了這些內容之后還是認為將兩者概念分開為好,希望能夠就這方面的概念問題和大家討論一下。

WSDL是描述一個服務的XML格式的語言。通過一個服務的WSDL我們可以得知這個服務的地址、服務使用的協議以及服務中的各種具體定義(例如定義了哪些消息等等)。顯然,如果每次生成服務時都要自己編寫代碼輸出大段復雜的WSDL,或者在使用服務時都要解析WSDL并且在請求時還需要自己生成SOAP內容,這樣的開發效率就實在是太低了。

因此,成熟的框架會提供一種“抽象”機制,使開發人員能夠輕松的定義服務,盡可能的將注意力集中在業務邏輯的實現上。例如使用ASP.NET釋放Web Services,或者利用.NET Framework中的wsdl.exe根據某個服務的WSDL描述來生成代理。這些框架和工具都能夠大大提高我們的開發效率。

WCF中的Service Model就是這樣的一種抽象。簡單地說,它可以被認作是一個與WSDL產生映射的模型。在Service Model中,與WSDL各部分相對應的概念被稱作為address、binding和contract,這就是被各種資料中所提到的“A、B、C”。除了提供了“定義”這樣的模型(用來與WSDL對應)之外,Service Model還負責了上述模型與外部請求或者回復信息的轉化。

例如,我們的Host一旦接受到了一個請求,那么它會把這個請求內容反序列化成為一個Message類型的對象,并交給Service Model處理。此時Service Model開始工作,例如它會構造出處理這個請求的環境,識別出該用哪個類型來處理請求,選擇或者創建一個類型的實例,確定應該調用的方法,隨后調用方法,得到一個結果對象。

然后Service Model同樣負責將這個結果對象轉化為一個Message類型的對象,最終將其序列化并輸出(整個過程有十多個步驟,我這里只是提到了一些最重要并且最容易理解的環節。由此可見WCF的可擴展性是多么的強大)。如果使用WCF生成調用服務的代理,那么Service Model工作性質還是差不多,只是方向相反而已。

那么是由什么組件負責將一個外部的請求反序列化成為一個Message對象,待方法調用完成之后,又將表示結果的Message序列化成為輸出的內容呢(如果使用WCF作為客戶端代理,那么就變成將Message序列化為請求的內容,并且將收到的回復內容反序列化成Message對象)?這就是Channel Layer的作用。

Channel Layer定義個一個由一系列Channel組成的Stack,Message對象在穿越這個Channel Stack的時候會經過每個Channel的處理,一步步地“形變”,最終成為了我們需要“數據形態”。例如服務返回的Message對象在經過了功能為SOAP XML轉化的Channel之后便成了SOAP XML的形式,然后再經由一個負責加密的Channel則成為了Encrypted數據(當然實際的步驟也沒有那么簡單),最終經由一個負責TCP/IP信道傳送的Channel輸送出去。

試想,如果我們自定義一個Channel將Message轉化為JSON格式,然后再使用一個Channel通過一個HTTP通道返回數據,那么不就能夠支持ASP.NET AJAX的Web Service請求功能了嗎?沒錯,的確可以這樣。事實上在新的ASP.NET Futures類庫中就提供了這樣的組件,它們是學習如何擴展WCF的優秀范例。不過這已經是題外話了,有機會我們可以另起一個話題再說。

不過這里又要談一下我個人的觀點了,因為我對于Channel Stack的理解和官方說法有一定出入。無論從目前的官方文檔,亦或是各類技術會議上談到的Channel Layer,都是由一個一個Channel,“并列”地組合成一個Channel Stack。然后Message就像一個原材料通過生產線一樣,最終得到了一個成品。

但是在我看來,Channel之間的關系不是并列的,而是使用了類似于“裝飾模式”的嵌套的做法來實現的。在我看來,Channel與Channel之間是包含關系,Service Model將Message交給了最外層的Channel處理,而最外層的Channel根據它定義的某種邏輯,配合它鄰近的那個下層的Channel處理的結果來操作這個Message對象,而不是簡單地將處理的結果交給下一個Channel。這一點從自定義Channel的方式上就可以看出,基本上每個Channel內部都會用一個名為innerChannel的私有Field來保存下一個Channel,并且在自己的某些方法中使用innerChannel的方法。

根據我的理解可以得到一些推論,例如關閉一個Channel時,該Channel必須負責將它的innerChannel對象關閉;我們可以實現一個最簡單同時無用的Channel,將所有的方法都直接委托給innerChannel,等等。而這些推論都是擴展Channel Layer的正確做法或結論,因此,我還是覺得自己的理解更加合理一些。當然,如果您在這方面有什么看法,也希望能夠和您進行交流。

為什么要理解Service Model和Channel Layer?

似乎說了半天,我還沒有涉及到WCF安全的支持,卻在大談特談一些“概念”。但是我認為,了解WCF的一些模型是掌握WCF的基礎(我個人非常注重模型,也就是一個框架是如何抽象外部事物的,例如ASP.NET如何將HTTP請求抽象成WebForm)。

只有了解了Service Model和Channel Layer的設計目的和功能,才能正確理解一些安全方面的做法是如何與這些模型結合的。例如,Channel Layer可以提供哪些WCF安全上的保證,為什么Authentication操作是在Channel Layer中進行,而Authorization卻是Service Model提供的呢?

WCF框架的設計并非隨性而為,其中有著充分的理由,是那些世界***架構師們智慧和經驗的結晶。當從“模型”的角度理解到這些內容之后,對于框架的使用往往就可以更上一層樓了。

就拿我自己的經驗來說,一開始必須“死記硬背”或者對照著Sample Code才能寫出代碼。而理解了模型之后,似乎代碼或配置該怎么寫,寫在什么地方都是順理成章的事情,在一些細節方面翻閱一下MSDN就能夠解決開發中的大部分的問題。

責任編輯:曹凱 來源: ixpub.net
相關推薦

2009-12-22 15:33:50

WCF傳輸安全

2009-11-09 09:23:10

WCF數據契約

2009-11-09 09:34:07

WCF集合

2010-02-23 09:44:12

WCF dataCon

2010-05-17 17:27:31

2009-12-08 13:46:16

Silverlight

2009-12-22 19:14:36

WCF效率

2010-02-24 15:20:23

WCF Message

2010-02-22 16:19:25

WCF自托管

2009-11-09 15:41:14

WCF安全性

2009-12-21 14:49:27

2010-02-24 09:38:58

WCF應用編碼

2009-06-12 14:28:14

WCF傳輸安全

2009-11-06 14:08:06

WCF行為擴展

2010-03-01 09:19:10

WCF編碼規范

2010-02-24 13:48:44

MSMQ使用WCF

2010-02-23 14:17:20

WCF配置文件

2010-02-26 13:40:28

WCF消息頭

2009-12-15 11:01:31

Ruby數組

2010-05-05 13:13:55

Unix內核
點贊
收藏

51CTO技術棧公眾號

国产九区一区在线| 国产免费观看高清视频| 国产精品1区| 欧美午夜影院一区| 国产视频一视频二| 久久99国产精品久久99果冻传媒| 2019国产精品视频| 日韩免费一区| 国产精品∨欧美精品v日韩精品| 在线精品国产亚洲| 影音先锋欧美精品| 国产免费不卡| 精品亚洲va在线va天堂资源站| 精品孕妇一区二区三区| 欧洲生活片亚洲生活在线观看| 波多野结衣av在线| 亚洲伦理在线精品| 成年人羞羞的网站| 椎名由奈av一区二区三区| 欧美男女交配视频| 国产精品人妖ts系列视频| 日韩av片网站| 最新高清无码专区| 欧美xxxxxxxxx59| 亚洲综合色噜噜狠狠| 国产激情视频网址| 亚洲一区中文日韩| 你懂的在线视频| 欧美色网站导航| 高清免费电影在线观看| 精品日韩一区二区三区| 超碰在线公开| 日韩中文字幕免费视频| 欧美国产亚洲精品| 国产成人aa精品一区在线播放| 国内亚洲精品| 91美女片黄在线观| 99在线观看免费视频精品观看| 精品一区二区国产| 久久国产麻豆精品| 一级黄色录像免费看| 成人免费视频视频在线观看免费| 中文字幕乱码人妻综合二区三区| 国产婷婷一区二区| 极品粉嫩饱满一线天在线| 欧美日韩一二三| 超碰国产一区| 7777kkkk成人观看| 国模 一区 二区 三区| 午夜午夜精品一区二区三区文| 国产精品一二三四| 97在线资源在| 久久久久se| 欧美精品91| 久久久国产视频| 国产精品一区二区在线观看不卡 | 欧美国产97人人爽人人喊| 国产黄色高清在线| 欧美日韩小视频| 精品91久久| 国产成人一区二区三区小说| 亚洲伦伦在线| 久色视频在线播放| 精品久久久久久久久久久久久| 黄色成人在线网| 九色成人免费视频| 亚洲天堂激情| 欧美日韩国产精品激情在线播放| 亚洲国产精品人人做人人爽| 免费**毛片在线| 欧美日韩国产123| 亚洲二区精品| 国产黄色特级片| 欧美亚男人的天堂| 欧美成人aaa| 成人国产一区二区| 欧美经典一区二区| 直接在线观看的三级网址| 国自产精品手机在线观看视频| 日韩视频精品在线观看| 中文字幕在线观看第三页| 在线播放中文一区| 香蕉久久夜色精品国产使用方法| 久久伦理网站| 综合激情成人伊人| 免费观看欧美大片| 国产精品初高中精品久久| 91啪九色porn原创视频在线观看| h视频网站在线观看| 欧美国产日韩xxxxx| 日韩精品一二区| 亚洲男人资源| 久久久久久欧美| 国产呦精品一区二区三区网站| 亚洲精品白浆| 男人的天堂亚洲| 欧美一二三不卡| 岛国精品在线观看| 日本一区二区三区在线视频| 成人免费观看视频| 国产精品日韩欧美一区二区三区| 国产精品综合二区| 高清在线一区二区| 国产中文在线观看| 国产男小鲜肉同志免费| 欧美一区二区三区电影在线观看| 日韩久久久久久久久久久久| 亚洲风情亚aⅴ在线发布| 午夜影院欧美| 韩国女主播一区二区三区| 黄色成人在线观看| 亚洲欧美在线精品| 国产精品又粗又长| 九色丨porny丨自拍入口| 二区三区在线观看| 色综合桃花网| 北岛玲一区二区三区| 午夜精品一区二区在线观看| 欧美激情一区二区三区高清视频| 夜夜操天天操亚洲| 伊人久久大香线蕉| 小明精品国产一区二区三区| 青草网在线观看| 国产精品久久国产精品| 欧美性极品少妇精品网站| 欧美日韩亚洲国产精品| 桃花岛tv亚洲品质| 一区二区三区区四区播放视频在线观看| 香蕉久久夜色| 中文字幕不卡av| 欧美视频免费在线| 波多野结衣91| 麻豆视频一区二区| 欧洲av一区二区| 青青青手机在线视频观看| 亚洲第一男人av| 凹凸国产熟女精品视频| 99精品美女| 高清亚洲成在人网站天堂| www99xav| 欧美久久亚洲| 国产老肥熟一区二区三区| 国产精品www色诱视频| 午夜久久中文| 日本久久亚洲电影| 亚洲国产精品一区二区第一页| 久草视频在线播放| 亚洲欧美日韩国产成人综合一二三区| 欧美精品激情视频| 青春有你2免费观看完整版在线播放高清| 欧美aaaaa级| 欧美三级电影一区| 毛片在线播放视频| 亚洲免费av观看| 久久免费高清视频| 欧美成人亚洲成人日韩成人| 国产精品美女一区二区| 青青久久av北条麻妃海外网| 在线视频专区| 韩国女主播一区二区| 久久久久伊人| 成人精品小蝌蚪| 男人天堂999| 日韩精品视频网站| 欧美老年两性高潮| 国产污视频在线| 国产v综合ⅴ日韩v欧美大片 | 成人黄色a**站在线观看| 亚洲视频一起| 原创国产精品91| 亚洲乱码免费伦视频| 欧美1区2区| 高清成人在线观看| 日韩精品视频在线播放| 欧美日韩日本网| 欧美日韩成人激情| 91视频免费网站| 性色av一区| 亚洲三级国产| 欧美本精品男人aⅴ天堂| 国产精品对白一区二区三区| 欧美激情a∨在线视频播放 | 成人黄色免费在线观看| 日韩亚洲综合在线| 欧美日韩精品综合| 日韩精品极品| 91丨九色丨国产丨porny| 欧美激情免费视频| 牛牛影视精品影视| 久久中文在线| 高清视频欧美一级| 岛国在线视频免费看| 亚洲盗摄视频| 欧美亚洲福利| 亚洲成人一区二区三区| 日本久久电影网| 久久精品一区二区三区四区| 欧美三级在线看| 成人免费淫片aa视频免费| 国产精品视频二区三区|