新聞中心
作為一個(gè)合格的開(kāi)發(fā)人員,在編寫(xiě)程序的同時(shí),首要考慮的就是程序的安全問(wèn)題。那么今天我們將會(huì)為大家詳細(xì)講解一下WCF服務(wù)保護(hù)的實(shí)現(xiàn)方法,希望能夠幫助大家從中對(duì)這方面的安全知識(shí)有一個(gè)詳細(xì)了解。#t#

成都創(chuàng)新互聯(lián)公司主營(yíng)千陽(yáng)網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都App定制開(kāi)發(fā),千陽(yáng)h5微信小程序定制開(kāi)發(fā)搭建,千陽(yáng)網(wǎng)站營(yíng)銷(xiāo)推廣歡迎千陽(yáng)等地區(qū)企業(yè)咨詢(xún)
通過(guò)說(shuō)到安全,我們會(huì)想到認(rèn)證和授權(quán),要求登錄的系統(tǒng)都提供了認(rèn)證和授權(quán)的安全性。
WCF程序有更多的安全問(wèn)題,因?yàn)橄⑿枰缭綑C(jī)器邊界傳遞,對(duì)消息進(jìn)行加密是一方面,帶簽名是另一種方式。通常WCF包括傳輸通道和消息級(jí)別的安全性。如https就是具有更高安全性的傳輸專(zhuān)用通道,消息級(jí)別包括加密和解密等。下面分別來(lái)介紹一下
一、消息級(jí)別的WCF服務(wù)保護(hù)
示例:NetTcpBinding綁定的消息加密。宿主程序和客戶(hù)端的配置文件中分別增加
- < system.serviceModel>
- ...
- < bindings>
- < netTcpBinding>
- < binding name="tcpBindingConfig">
- < security mode="Message">
- < message algorithmSuite="Basic128" />
- < /security>
- < /binding>
- < /netTcpBinding>
- < /bindings>
- ...
- < /system.serviceModel>
然后修改binding=netTcpBinding的endpoint指定bindingConfiguration屬性=tcpBindingConfig,這樣這種綁定的消息會(huì)自動(dòng)進(jìn)行加密和解密。下載的示例demo中啟用了trace輸出,這樣可以通過(guò)service trace viewer工具查看D:\winform\WCF step by step\Chapter 5\Shore.cnblogs.com.WCFHost\app_tracelog.svclog(這個(gè)地址在你本機(jī)可能需要修改)這個(gè)文件來(lái)觀察消息是否真正的被加密了。
基本BasicHttpBinding綁定的消息加密需要證書(shū),比較麻煩,但WSHttpBinding綁定的消息加密默認(rèn)就會(huì)有消息加密功能,所以只要提供一個(gè)WSHttpBinding的endpoint就OK。
二、在傳輸通道級(jí)別保護(hù)一個(gè)HTTP服務(wù)
我提到過(guò),傳輸通道的保護(hù)可以配置為https來(lái)增強(qiáng)保護(hù),由于啟用https需要證書(shū)文件,比較麻煩。暫時(shí)不演示了,后面有時(shí)間再補(bǔ)充吧。
三、認(rèn)證與授權(quán)
認(rèn)證和授權(quán)是基本form驗(yàn)證的一種有效方式,也是在web程序中用的最多的一種驗(yàn)證方式。WCF對(duì)認(rèn)證和授權(quán)有了很好的支持,這個(gè)主題也很廣泛,這里只是簡(jiǎn)單演示服務(wù)器端怎么樣拿到客戶(hù)端的windows用戶(hù)名。
netTcpBinding綁定
string usrName = Thread.CurrentPrincipal.Identity.Name;
這樣WCF服務(wù)保護(hù)的操作就完成了。
本文名稱(chēng):WCF服務(wù)保護(hù)正確實(shí)現(xiàn)步驟淺析
當(dāng)前地址:http://fisionsoft.com.cn/article/dphigco.html


咨詢(xún)
建站咨詢(xún)
