日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
WCF用戶密碼相關(guān)驗(yàn)證方式

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

網(wǎng)站建設(shè)公司,為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計(jì)及定制網(wǎng)站建設(shè)服務(wù),專注于企業(yè)網(wǎng)站制作,高端網(wǎng)頁制作,對火鍋店設(shè)計(jì)等多個行業(yè)擁有豐富的網(wǎng)站建設(shè)經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。專業(yè)網(wǎng)站設(shè)計(jì),網(wǎng)站優(yōu)化推廣哪家好,專業(yè)seo優(yōu)化優(yōu)化,H5建站,響應(yīng)式網(wǎng)站。

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

在上一篇X509證書介紹后,相信大家對怎么使用X509證書在WCF的安全策略中有一定的了解,本章主要講述在WCF的消息安全模式下的服務(wù)器對客戶端基于自定義用戶名和密碼的身份驗(yàn)證模式。當(dāng)所有內(nèi)置 UserNamePassword 驗(yàn)證模式均不符合應(yīng)用程序的要求時,你可以能過繼承 System.IdentityModel.Selectors.UserNamePasswordValidator 抽象類,并重寫其Validate方法來實(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)證不通過,以下示例在服務(wù)器端啟用自定義的用戶名密碼驗(yàn)證程序,客戶端在調(diào)用服務(wù)前需要提供訪問服務(wù)所需要的用戶名密碼,并在EndpointIdenty中向服務(wù)器標(biāo)識自己是合法用戶,具體標(biāo)識參見本系列第二章:WCF安全之EndPointIdentity。如果服務(wù)器驗(yàn)證通過,將向客戶端返回一個從數(shù)據(jù)庫查詢到的xml列(xElement對象),并將內(nèi)容打印到控制臺。

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

如上面的所講,首先,我們需要建立一個類,來繼承自System.IdentityModel.Selectors.UserNamePasswordValidator抽象類,并重其validate方法,代碼比較簡單,當(dāng)然,這只是用于演示作用,如果是在實(shí)際的項(xiàng)目中,你完全可以將用戶名密碼存儲在持久化介質(zhì)上,請看實(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)證用戶名和密碼時,未通過檢測");  
  8. }  
  9. }  

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

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

(請?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> 

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

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

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

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

客戶端在調(diào)用服務(wù)前設(shè)置一個用戶名密碼(此用戶名密碼你可動態(tài)配置,具體怎么動態(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)用成功,開始打印消息.");  
  7. Console.ForegroundColor = ConsoleColor.Red;  
  8. Console.WriteLine("==================================");  
  9. Console.WriteLine(xe.Value); 

分享題目:WCF用戶密碼相關(guān)驗(yàn)證方式
分享網(wǎng)址:http://www.5511xx.com/article/ccchcgs.html