日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
WCF認(rèn)證之UserName認(rèn)證方法

WCF認(rèn)證的主要作用是幫助我們實現(xiàn)安全的開發(fā)環(huán)境。在這里我們就為大家介紹一下WCF認(rèn)證中的一個叫做UserName認(rèn)證的實現(xiàn)方法。#t#

成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的崆峒網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

UserName認(rèn)證機(jī)制很簡單,客戶端提供用戶名密碼信息,到服務(wù)器端通過UserName驗證類進(jìn)行驗證。在此過程中,需要X509證書的支持,使用X509證書并不是用于證書認(rèn)證而是使用X509證書的密鑰對用戶名密碼進(jìn)行加密以防在服務(wù)器上以明文方式傳遞。

 

測試時我們可以通過VS命令行創(chuàng)建測試使用的證書,如下:
C:\Program Files\Microsoft Visual Studio 9.0\VC>makecert.exe -sr LocalMachine -s
s My -a sha1 -n CN=SecurityTest -sky exchange –pe

然后我們需要編寫一個驗證用戶名密碼的類,如下:

 

 
 
 
  1. Imports System.IdentityModel.Selectors  
  2. Public Class MyCustomValidator  
  3. Inherits UserNamePasswordValidator  
  4. Public Overrides Sub Validate
    (ByVal userName As String, 
    ByVal password As String)  
  5. ''驗證過程  
  6. End Sub  
  7. End Class 

 

服務(wù)器端的web.config文件還需要增加一些配置,如下:

 

 
 
 
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14. "SecurityHost.Service1Behavior" 
  15. name="SecurityHost.Service1"> 
  16. "wsHttpBinding" bindingConfiguration
    ="mySecureBinding" 
  17. contract="SecurityHost.IService1"> 
  18.  
  19.  
  20.  
  21.  
  22.  
  23. "mexHttpBinding" contract=
    "IMetadataExchange" /> 
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30. DetailInFaults="false" /> 
  31.  
  32.  
  33.  
  34. "SecurityTest" storeLocation="LocalMachine" 
  35. storeName="My" x509FindType=
    "FindBySubjectName" /> 
  36.  
  37. userNamePasswordValidationMode="Custom" 
  38. customUserNamePasswordValidatorType=
    "ClassLibrary1.MyCustomValidator,ClassLibrary1" /> 
  39.  
  40.  
  41.  
  42.  
  43.  

客戶端進(jìn)行服務(wù)引用之后,可通過如下代碼指定身份信息:

 

 
 
 
  1. Dim client As New ServiceReference1.Service1Client  
  2. '' 我們是使用X509證書密鑰加密并非進(jìn)行證書認(rèn)證
     client.ClientCredentials.Service
    Certificate.Authentication.Certificate
    ValidationMode = ServiceModel.
    Security.X509CertificateValidationMode.None  
  3. '' 指定客戶端身份:用戶名、密碼  
  4. client.ClientCredentials.UserName
    .UserName = Guid.NewGuid.ToString  
  5. client.ClientCredentials.UserName
    .Password = Guid.NewGuid.ToString  
  6. '' 執(zhí)行服務(wù)方法 

Dim str As String = client.GetData(1)
 

這樣我們就可以進(jìn)行WCF服務(wù)的UserName認(rèn)證了。


本文名稱:WCF認(rèn)證之UserName認(rèn)證方法
當(dāng)前地址:http://www.dlmjj.cn/article/cdihgij.html