成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

WCF用戶密碼相關驗證方式

開發 開發工具
WCF用戶密碼的認證,在實際開發中是一個比較重要的應用知識。那么如何才能正確的實現這一方法呢?在這里我們將會為大家詳細介紹相關方法。

WCF開發工具的應用對于開發人員來說是一個非常重要的部分。我們可以在這篇文章中通過對WCF用戶密碼的認證來詳細分析一下這一工具的應用方式,從而進一步加深對WCF的認知程度。#t#

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

在上一篇X509證書介紹后,相信大家對怎么使用X509證書在WCF的安全策略中有一定的了解,本章主要講述在WCF的消息安全模式下的服務器對客戶端基于自定義用戶名和密碼的身份驗證模式。當所有內置 UserNamePassword 驗證模式均不符合應用程序的要求時,你可以能過繼承 System.IdentityModel.Selectors.UserNamePasswordValidator 抽象類,并重寫其Validate方法來實現自己的用戶名密碼驗證程序,實際上,內置的用戶名密碼驗證方式比自定義的用戶名密碼驗證方式要可靠得多,因為自定義的用戶名密碼驗證程序任何人都可以構造,但是標準的用戶名密碼驗證方式剛是將用戶提供的用戶名密碼映射到windows賬戶,所以,如果映射失敗,意味著驗證不通過,以下示例在服務器端啟用自定義的用戶名密碼驗證程序,客戶端在調用服務前需要提供訪問服務所需要的用戶名密碼,并在EndpointIdenty中向服務器標識自己是合法用戶,具體標識參見本系列第二章:WCF安全之EndPointIdentity。如果服務器驗證通過,將向客戶端返回一個從數據庫查詢到的xml列(xElement對象),并將內容打印到控制臺。

WCF用戶密碼步驟1、實現自定義用戶名密碼方式有哪些要求?

如上面的所講,首先,我們需要建立一個類,來繼承自System.IdentityModel.Selectors.UserNamePasswordValidator抽象類,并重其validate方法,代碼比較簡單,當然,這只是用于演示作用,如果是在實際的項目中,你完全可以將用戶名密碼存儲在持久化介質上,請看實現:

  1. public class CustomUserPassword : UserNamePasswordValidator  
  2. {  
  3. public override void Validate(string userName, string password)  
  4. {  
  5. if (userName != "admin" || password != "admin")  
  6. {  
  7. throw new SecurityNegotiationException("驗證用戶名和密碼時,未通過檢測");  
  8. }  
  9. }  

WCF用戶密碼步驟2、配置安全策略和模式

你可以在代碼或者在配置文件中完成此安全策略實現過程,但是如果你是以代碼方式實現,做之前請參考Artech的文章:[原創]WCF技術剖析之八:ClientBase中對ChannelFactory的緩存機制

(請原諒我引用),配置文件實現如下:

 

 

  1. //綁定配置  
  2. < binding name="EndpointBinding"> 
  3. < security mode="Message"> 
  4. < transport clientCredentialType="Windows" protectionLevel=
    "EncryptAndSign"/> 
  5. < message clientCredentialType="UserName"/> 
  6. < /security> 
  7. < /binding> 
  8. //服務配置  
  9. < serviceCredentials> 
  10. < serviceCertificate findValue="192168168151service" 
  11. x509FindType="FindBySubjectName" 
  12. storeLocation="LocalMachine" 
  13. storeName="My"/> 
  14. < userNameAuthentication customUserNamePasswordValidatorType=
    "UserDataServcie.CustomUserPassword,UserDataServcie" 
    userNamePasswordValidationMode="Custom"/> 
  15. < /serviceCredentials> 

 

在上面的過程中,我們的綁定配置中的安全策略必須是消息級別的安全,因為在傳輸級別中,是不提供用戶名密碼驗證方式的。兩種級別的的選擇比較主要體現在安全和效率上,如果你的傳輸效率上沒有什么問題,建議你選擇第四種安全策略:TransportWithMessageCredential,TransportWithMessageCredential的好處是既提供安全傳輸,又保證消息加密,多好!相對來說還是比較簡單的吧

WCF用戶密碼步驟3、證書的配置

啟用消息安全策略必須配置x509證書,如果你不配置,服務啟動將會收到一個異常:未提供安全證書。從上一章后,你也會覺得證書的配置都是比較簡單的吧。所以這里也不用過多的費話了。

WCF用戶密碼步驟4、客戶端調用服務

客戶端在調用服務前設置一個用戶名密碼(此用戶名密碼你可動態配置,具體怎么動態你隨意,可以是從持久介質上提取,也可以是用戶輸入),如下:

 

 

  1. UserDataClient client = new UserDataClient();  
  2. client.ClientCredentials.UserName.UserName = "admin";  
  3. client.ClientCredentials.UserName.Password = "admin";  
  4. UserExtension usereE = client.GetUserExtension();  
  5. XElement xe = client.GetUserExtensionXElement(null);  
  6. Console.WriteLine("調用成功,開始打印消息.");  
  7. Console.ForegroundColor = ConsoleColor.Red;  
  8. Console.WriteLine("==================================");  
  9. Console.WriteLine(xe.Value); 

 

責任編輯:曹凱 來源: 博客園
相關推薦

2010-02-22 14:18:34

WCF服務驗證

2010-02-26 14:19:03

WCF用戶驗證

2010-02-23 09:58:21

WCF客戶端驗證

2012-04-10 09:36:58

2009-12-21 14:58:57

WCF用戶密碼認證

2014-06-24 09:24:24

密碼身份驗證

2010-02-26 14:05:57

WCF通信方式

2009-12-07 18:33:31

WCF Service

2009-12-22 16:03:03

WCF異常

2019-06-03 11:14:16

2019-06-03 12:02:37

2012-01-06 10:35:07

2009-12-07 15:02:46

WCF學習

2009-12-08 16:42:48

WCF Service

2009-12-22 15:14:33

WCF調用

2010-02-22 17:58:06

WCF異步上傳

2010-03-01 09:19:10

WCF編碼規范

2009-11-05 16:12:09

WCF會話服務

2010-02-23 17:30:41

WCF部署于IIS

2010-02-24 11:22:04

WCF方法重載
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久乱弄 | 视频一二三区 | 少妇精品亚洲一区二区成人 | 久草资源在线视频 | 欧美日韩在线观看一区 | 日韩中文在线视频 | а天堂中文最新一区二区三区 | 欧美一区二区三区精品免费 | 我想看一级黄色毛片 | 久久久www成人免费精品 | 国产精品免费一区二区三区四区 | 亚洲国产欧美一区 | 久久国产视频播放 | 久久精品一区二区三区四区 | 中文字幕在线精品 | 国产一级精品毛片 | a网站在线观看 | 日本a在线| 国产精品视频导航 | 午夜精品久久久久久不卡欧美一级 | 黄色电影在线免费观看 | 天堂一区 | 欧美日韩在线看 | 国产一在线观看 | 色综合视频在线 | 日韩国产在线 | 久久精品一级 | 亚洲一av| 成人在线一区二区三区 | 国产精品久久久久久久久久久久 | 日韩一级一区 | 亚洲一二三区不卡 | 亚洲精选一区二区 | 成年免费大片黄在线观看一级 | 久久久久久久久久久久久9999 | 久久久久久国产精品 | 伊人网国产 | 国产激情一区二区三区 | 在线日韩| 国产精品激情在线 | 四虎在线观看 |