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

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

新聞中心

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

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

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

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

 

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

然后我們需要編寫一個(gè)驗(yàn)證用戶名密碼的類,如下:

 

 
 
 
  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. ''驗(yàn)證過(guò)程  
  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ù)引用之后,可通過(guò)如下代碼指定身份信息:

 

 
 
 
  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)證了。


網(wǎng)頁(yè)標(biāo)題:WCF認(rèn)證之UserName認(rèn)證方法
文章地址:http://m.5511xx.com/article/cdihgij.html