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

WCF用戶密碼相關(guān)驗(yàn)證方式

開(kāi)發(fā) 開(kāi)發(fā)工具
WCF用戶密碼的認(rèn)證,在實(shí)際開(kāi)發(fā)中是一個(gè)比較重要的應(yīng)用知識(shí)。那么如何才能正確的實(shí)現(xiàn)這一方法呢?在這里我們將會(huì)為大家詳細(xì)介紹相關(guān)方法。

WCF開(kāi)發(fā)工具的應(yīng)用對(duì)于開(kāi)發(fā)人員來(lái)說(shuō)是一個(gè)非常重要的部分。我們可以在這篇文章中通過(guò)對(duì)WCF用戶密碼的認(rèn)證來(lái)詳細(xì)分析一下這一工具的應(yīng)用方式,從而進(jìn)一步加深對(duì)WCF的認(rèn)知程度。#t#

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

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

WCF用戶密碼步驟1、實(shí)現(xiàn)自定義用戶名密碼方式有哪些要求?

如上面的所講,首先,我們需要建立一個(gè)類,來(lái)繼承自System.IdentityModel.Selectors.UserNamePasswordValidator抽象類,并重其validate方法,代碼比較簡(jiǎn)單,當(dāng)然,這只是用于演示作用,如果是在實(shí)際的項(xiàng)目中,你完全可以將用戶名密碼存儲(chǔ)在持久化介質(zhì)上,請(qǐng)看實(shí)現(xiàn):

  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("驗(yàn)證用戶名和密碼時(shí),未通過(guò)檢測(cè)");  
  8. }  
  9. }  

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

你可以在代碼或者在配置文件中完成此安全策略實(shí)現(xiàn)過(guò)程,但是如果你是以代碼方式實(shí)現(xiàn),做之前請(qǐng)參考Artech的文章:[原創(chuàng)]WCF技術(shù)剖析之八:ClientBase中對(duì)ChannelFactory的緩存機(jī)制

(請(qǐng)?jiān)徫乙茫渲梦募?shí)現(xiàn)如下:

 

 

  1. //綁定配置  
  2. < binding name="EndpointBinding"> 
  3. < security mode="Message"> 
  4. < transport clientCredentialType="Windows" protectionLevel=
    "EncryptAndSign"/> 
  5. < message clientCredentialType="UserName"/> 
  6. < /security> 
  7. < /binding> 
  8. //服務(wù)配置  
  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> 

 

在上面的過(guò)程中,我們的綁定配置中的安全策略必須是消息級(jí)別的安全,因?yàn)樵趥鬏敿?jí)別中,是不提供用戶名密碼驗(yàn)證方式的。兩種級(jí)別的的選擇比較主要體現(xiàn)在安全和效率上,如果你的傳輸效率上沒(méi)有什么問(wèn)題,建議你選擇第四種安全策略:TransportWithMessageCredential,TransportWithMessageCredential的好處是既提供安全傳輸,又保證消息加密,多好!相對(duì)來(lái)說(shuō)還是比較簡(jiǎn)單的吧

WCF用戶密碼步驟3、證書(shū)的配置

啟用消息安全策略必須配置x509證書(shū),如果你不配置,服務(wù)啟動(dòng)將會(huì)收到一個(gè)異常:未提供安全證書(shū)。從上一章后,你也會(huì)覺(jué)得證書(shū)的配置都是比較簡(jiǎn)單的吧。所以這里也不用過(guò)多的費(fèi)話了。

WCF用戶密碼步驟4、客戶端調(diào)用服務(wù)

客戶端在調(diào)用服務(wù)前設(shè)置一個(gè)用戶名密碼(此用戶名密碼你可動(dòng)態(tài)配置,具體怎么動(dòng)態(tài)你隨意,可以是從持久介質(zhì)上提取,也可以是用戶輸入),如下:

 

 

  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("調(diào)用成功,開(kāi)始打印消息.");  
  7. Console.ForegroundColor = ConsoleColor.Red;  
  8. Console.WriteLine("==================================");  
  9. Console.WriteLine(xe.Value); 

 

責(zé)任編輯:曹凱 來(lái)源: 博客園
相關(guān)推薦

2010-02-22 14:18:34

WCF服務(wù)驗(yàn)證

2010-02-26 14:19:03

WCF用戶驗(yàn)證

2010-02-23 09:58:21

WCF客戶端驗(yàn)證

2012-04-10 09:36:58

2009-12-21 14:58:57

WCF用戶密碼認(rèn)證

2014-06-24 09:24:24

密碼身份驗(yàn)證

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 12:02:37

2019-06-03 11:14:16

2009-12-07 15:02:46

WCF學(xué)習(xí)

2009-12-08 16:42:48

WCF Service

2012-01-06 10:35:07

2009-12-22 15:14:33

WCF調(diào)用

2010-02-22 17:58:06

WCF異步上傳

2010-03-01 09:19:10

WCF編碼規(guī)范

2009-11-05 16:12:09

WCF會(huì)話服務(wù)

2010-02-23 17:30:41

WCF部署于IIS

2010-02-24 11:22:04

WCF方法重載
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 成人久久18免费网站图片 | 亚洲福利在线视频 | 91天堂| 狠狠草视频 | 干出白浆视频 | a免费视频 | 亚洲精品亚洲人成人网 | 中文字幕在线不卡播放 | 国产高清在线精品一区二区三区 | 在线播放中文字幕 | 日日噜噜夜夜爽爽狠狠 | 欧洲免费视频 | 成人a视频在线观看 | 成人午夜免费福利视频 | 精品视频99 | 在线免费观看黄色av | 中文字幕视频在线观看 | 日屁网站 | 一区二区福利视频 | 99精品一区二区 | 精品国产乱码久久久久久蜜臀 | 国产一区二区三区 | 亚洲欧美一区二区三区在线 | 亚洲成人免费 | 色男人的天堂 | 国产精品久久国产精品 | 国产在线精品一区二区 | 国产成人久久精品一区二区三区 | 日本免费视频在线观看 | 精品久久一 | 日本高清aⅴ毛片免费 | 日韩在线观看网站 | 国产精品久久久久久久久久免费看 | 国产成人一区二区三区 | 一级黄色网页 | 国产一区二区三区久久 | 黄色在线观看网址 | 国产日韩免费视频 | 伊人操| 亚洲福利av | 午夜影院免费体验区 |