自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

探討WCF安全中的服務(wù)元數(shù)據(jù)保護

開發(fā) 后端
最近在做一個項目,應(yīng)用了WCF進行分布式開發(fā),中間還涉及到消息路由器等,好在有WCF提供了強大的基礎(chǔ)支持,當然,本身也作了不少的擴展,本文將介紹對服務(wù)元數(shù)據(jù)保護的問題。

實際,我最關(guān)心的是WCF的安全問題,網(wǎng)上不少朋友介紹的WCF安全也是少得可憐,微軟發(fā)布的WCFSecurityGUID好像講得也只是入門級別的教程,離真正應(yīng)用到項目中還是有很大的距離,這也讓我萌發(fā)了分享的想法,今天先放出來占個位置吧,有反對的朋友磚頭輕點,呵~,可以告訴你,WCF的安全里,有很多的小秘密,當然還是要告訴你,并且有此小秘密是要自己去體驗后才知道,在博客排版方面,李會軍(軍哥)讓人感覺最舒服,在解說方面,軍哥也是以簡潔著稱,我在這里也學(xué)習(xí)一下,一起簡潔吧,我希望以后的WCF安全探討里,一次只講一個小內(nèi)容好了~

WCF安全概述

WindowsCommunicationFoundation(WCF)是Microsoft為構(gòu)建面向服務(wù)的應(yīng)用程序而提供的統(tǒng)一編程模型(摘自MSDN),在分布式環(huán)境下的WCF安全問題尤為重要,如果你覺得使用了WCF默認的安全措施可以讓你高枕無憂,那明天你可就以回家種田了,當然,對于學(xué)習(xí)來說,足夠了~,但我們講的是真正的項目應(yīng)用,WCF在各種協(xié)議下的安全提供和保證是不盡相同的。

背景

某天,經(jīng)理老陳對程序員小李說:小李,我們公司外包到一個項目,但是客戶要求采用分布式部署,現(xiàn)在項目快接近尾聲了,由于我們采用的是WCF,所以在部署的時候出現(xiàn)了一點問題,我們的服務(wù)好像誰都能訪問得到啊,這是為什么呢?

WCF安全問題呈現(xiàn)

小李***件事就是去查看了服務(wù)配置文件,真的是不看不知道,一看嚇一跳,原來開發(fā)WCF時,采用的都是默認的配置,全是自動生成的代碼,沒有經(jīng)過任何的改動,一想到項目將會以這種姿態(tài)交付,小李著實捏了一把汗。

  1. Code  
  2. <services> 
  3. <servicenameservicename="WcfServiceLibrary2.Service1"behaviorConfiguration="WcfServiceLibrary2.Service1Behavior"> 
  4. <host> 
  5. <baseAddresses> 
  6. <addbaseAddressaddbaseAddress="http://localhost:8731/Design_Time_Addresses/WcfServiceLibrary2/Service1/"/> 
  7. </baseAddresses> 
  8. </host> 
  9. <endpointaddressendpointaddress=""binding="wsHttpBinding"contract="WcfServiceLibrary2.IService1"> 
  10. <identity> 
  11. <dnsvaluednsvalue="localhost"/> 
  12. </identity> 
  13. </endpoint> 
  14. <endpointaddressendpointaddress="mex"binding="mexHttpBinding"contract="IMetadataExchange"/> 
  15. </service> 
  16. </services> 
  17. <behaviors> 
  18. <serviceBehaviors> 
  19. <behaviornamebehaviorname="WcfServiceLibrary2.Service1Behavior"> 
  20. <serviceMetadatahttpGetEnabledserviceMetadatahttpGetEnabled="True"/> 
  21. <serviceDebugincludeExceptionDetailInFaultsserviceDebugincludeExceptionDetailInFaults="False"/> 
  22. </behavior> 
  23. </serviceBehaviors> 
  24. </behaviors> 

解決之道

小李***件事就是把配置文件給修改好了,接著解決了困擾老陳許久的問題。

1、刪除元數(shù)據(jù)交換終結(jié)點信息

  1. <endpointaddressendpointaddress="mex"binding="mexHttpBinding"contract="IMetadataExchange"/> 

2、將http協(xié)議獲取元數(shù)據(jù)重置為:false

  1. <serviceMetadatahttpGetEnabledserviceMetadatahttpGetEnabled="false"/> 

3、一般我們都會在開發(fā)時配置為元數(shù)據(jù)據(jù)可發(fā)現(xiàn),但是切記,發(fā)布你的服務(wù)前,一定要刪除了,目前,服務(wù)在一定范圍上得到了保護

4、最終配置如下

  1. <services> 
  2. <servicenameservicename="WcfServiceLibrary2.Service1"behaviorConfiguration="WcfServiceLibrary2.Service1Behavior"> 
  3. <host> 
  4. <baseAddresses> 
  5. <addbaseAddressaddbaseAddress="http://localhost:8731/Design_Time_Addresses/WcfServiceLibrary2/Service1/"/> 
  6. </baseAddresses> 
  7. </host> 
  8. <endpointaddressendpointaddress=""binding="wsHttpBinding"contract="WcfServiceLibrary2.IService1"> 
  9. <identity> 
  10. <dnsvaluednsvalue="localhost"/> 
  11. </identity> 
  12. </endpoint> 
  13. </service> 
  14. </services> 
  15. <behaviors> 
  16. <serviceBehaviors> 
  17. <behaviornamebehaviorname="WcfServiceLibrary2.Service1Behavior"> 
  18. <serviceDebugincludeExceptionDetailInFaultsserviceDebugincludeExceptionDetailInFaults="False"/> 
  19. <serviceDebugincludeExceptionDetailInFaultsserviceDebugincludeExceptionDetailInFaults="False"/></behavior></serviceBehaviors></behaviors> 

【編輯推薦】

  1. 使用ASP.NET AJAX調(diào)用WCF服務(wù)項模板
  2. 詳解自定義托管宿主WCF解決方案開發(fā)配置過程
  3. 詳解WCF可擴展框架中的行為擴展
  4. WCF中通過Dispose有效實現(xiàn)重用
  5. WCF開發(fā)基礎(chǔ)
責(zé)任編輯:彭凡 來源: cnblogs
相關(guān)推薦

2009-12-22 16:14:01

WCF服務(wù)元數(shù)據(jù)

2009-12-21 16:37:41

WCF獲取服務(wù)元數(shù)據(jù)

2009-11-06 10:01:07

WCF服務(wù)元數(shù)據(jù)

2009-12-22 18:24:13

WCF面向服務(wù)

2010-03-02 09:32:54

WCF服務(wù)消息

2009-11-09 17:30:20

WCF元數(shù)據(jù)

2010-02-22 11:02:06

WCF元數(shù)據(jù)

2009-11-06 10:45:47

WCF服務(wù)元數(shù)據(jù)交換

2009-11-09 16:14:49

WCF服務(wù)元數(shù)據(jù)

2010-02-24 10:41:28

WCF服務(wù)保護

2009-11-09 16:25:24

WCF Data Co

2010-02-26 14:12:27

WCF元數(shù)據(jù)

2022-03-23 18:57:11

數(shù)據(jù)安全安全工具

2010-03-02 09:39:11

保護WCF服務(wù)

2010-09-17 20:40:09

2010-03-02 10:50:57

WCF元數(shù)據(jù)交換

2022-09-08 15:18:03

數(shù)據(jù)安全犯罪

2009-12-02 09:21:04

PHP數(shù)據(jù)過濾

2013-04-15 11:04:48

2009-11-06 10:37:57

配置WCF服務(wù)
點贊
收藏

51CTO技術(shù)棧公眾號