自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

兩種方法實(shí)現(xiàn)Web Service身份驗(yàn)證

開(kāi)發(fā) 開(kāi)發(fā)工具
本文將介紹兩種方法實(shí)現(xiàn)Web Service身份驗(yàn)證,方法一是通過(guò)通過(guò)SOAP Header身份驗(yàn)證,另一種是通過(guò)集成windows身份驗(yàn)證。

Web Service身份驗(yàn)證解決方案一:通過(guò)通過(guò)SOAP Header身份驗(yàn)證。

1.我們實(shí)現(xiàn)一個(gè)用于身份驗(yàn)證的類(lèi),文件名MySoapHeader.cs

MySoapHeader類(lèi)繼承自System.Web.Services.Protocols.SoapHeader。且定義了兩個(gè)成員變量,UserName和PassWord,還定義了一個(gè)用戶(hù)認(rèn)證的函數(shù)ValideUser。它提供了對(duì)UserName和PassWord檢查的功能

  1. using System;  
  2. using System.Data;  
  3. using System.Configuration;  
  4. using System.Web;  
  5. using System.Web.Security;  
  6. using System.Web.UI;  
  7. using System.Web.UI.HtmlControls;  
  8. using System.Web.UI.WebControls;  
  9. using System.Web.UI.WebControls.WebParts;  
  10. using System.Web.Services;  
  11. using System.Web.Services.Protocols;  
  12. ///   
  13. ///MySoapHeader 的摘要說(shuō)明  
  14. ///   
  15. public class MySoapHeader:SoapHeader  
  16. {  
  17.     public MySoapHeader()  
  18.     {  
  19.         //  
  20.         //TODO: 在此處添加構(gòu)造函數(shù)邏輯  
  21.         //  
  22.     }  
  23.     public string UserName;  
  24.     public string PassWord;  
  25.     public bool ValideUser(string in_UserName, string in_PassWord)     
  26.     {  
  27.         if ((in_UserName == "zxq") && (in_PassWord == "123456"))  
  28.         {  
  29.             return true;  
  30.         }  
  31.         else  
  32.         {  
  33.             return false;  
  34.         }  
  35.     }  

2.下面我們創(chuàng)建WebService.asmx    WebService.cs代碼如下:

  1. using System;  
  2. using System.Collections;  
  3. using System.Web;  
  4. using System.Web.Services;  
  5. using System.Web.Services.Protocols;  
  6.  
  7. ///   
  8. ///WebService 的摘要說(shuō)明  
  9. ///   
  10. [WebService(Namespace = "http://tempuri.org/")]  
  11. [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]  
  12. public class WebService : System.Web.Services.WebService  
  13. {  
  14.  
  15.     public WebService()  
  16.     {  
  17.  
  18.         //如果使用設(shè)計(jì)的組件,請(qǐng)取消注釋以下行   
  19.         //InitializeComponent();   
  20.     }  
  21.     public MySoapHeader header; ////定義用戶(hù)身份驗(yàn)證類(lèi)變量header  
  22.     [WebMethod(Description = "用戶(hù)驗(yàn)證測(cè)試")]  
  23.     [System.Web.Services.Protocols.SoapHeader("header")]//用戶(hù)身份驗(yàn)證的soap頭   
  24.     public string HelloWorld(string contents)  
  25.     {  
  26.         //驗(yàn)證是否有權(quán)訪問(wèn)   
  27.         if (header.ValideUser(header.UserName, header.PassWord))  
  28.         {  
  29.             return contents + "執(zhí)行了";  
  30.         }  
  31.         else  
  32.         {  
  33.             return "您沒(méi)有權(quán)限訪問(wèn)";  
  34.         }  
  35.     }  
  36. }  

 3.客戶(hù)端 創(chuàng)建個(gè)Default.aspx

  1. Default.aspx .cs代碼  
  2.  
  3. using System;  
  4. using System.Configuration;  
  5. using System.Data;  
  6. using System.Web;  
  7. using System.Web.Security;  
  8. using System.Web.UI;  
  9. using System.Web.UI.HtmlControls;  
  10. using System.Web.UI.WebControls;  
  11. using System.Web.UI.WebControls.WebParts;  
  12.  
  13. public partial class _Default : System.Web.UI.Page   
  14. {  
  15.     protected void Page_Load(object sender, EventArgs e)  
  16.     {  
  17.         com.cn1yw.WebService test = new com.cn1yw.WebService();//web引用(改成您自己的)  
  18.         com.cn1yw.MySoapHeader Header = new com.cn1yw.MySoapHeader();//web引用創(chuàng)建soap頭對(duì)象(改成您自己的)  
  19.         //設(shè)置soap頭變量  
  20.         Header.UserName = "zxq";  
  21.         Header.PassWord = "123456";  
  22.         test.MySoapHeaderValue = Header;  
  23.         //調(diào)用web 方法  
  24.         Response.Write(test.HelloWorld("我是強(qiáng)"));  
  25.     }  

Web Service身份驗(yàn)證解決方案二:通過(guò)集成windows身份驗(yàn)證。

1. 將web服務(wù)程序設(shè)為集成windows身份驗(yàn)證

windows身份驗(yàn)證

 

2.客戶(hù)端web引用代碼

  1. Test.WebReference.Service1 wr = new Test.WebReference.Service1(); //生成web service實(shí)例   
  2. wr.Credentials = new NetworkCredential("guest","123"); //guest是用戶(hù)名,該用戶(hù)需要有一定的權(quán)限   
  3. lblTest.Text = wr.Add(2,2).ToString(); //調(diào)用web service方法  

該方案的優(yōu)點(diǎn)是比較安全,性能較好,缺點(diǎn)是不便于移植,部署工作量大。

【編輯推薦】

  1. ASP.NET使用Web Service上傳文件
  2. JDK 6.0中web service的使用淺析
  3. MyEclipse開(kāi)發(fā)和測(cè)試Web Service實(shí)例詳解
  4. 在Spring中XFire構(gòu)建Web Service
  5. Spring Web Services框架入門(mén)研究
責(zé)任編輯:彭凡 來(lái)源: cnblogs
相關(guān)推薦

2010-11-16 16:11:28

Oracle身份驗(yàn)證

2009-11-13 10:20:44

2009-09-25 14:04:09

Hibernate eHibernate h

2010-07-26 15:42:34

Perl模塊

2009-07-29 16:47:40

ASP.NET表單身份

2019-05-07 08:15:21

2010-09-06 11:24:47

CHAP驗(yàn)證PPP身份驗(yàn)證

2010-08-03 13:53:47

Flex+Java配置

2023-04-18 08:00:35

DexKubernetes身份驗(yàn)證

2024-02-23 07:18:40

JWTWeb應(yīng)用程序

2010-10-22 14:59:22

2012-04-10 09:36:58

2024-01-02 11:45:00

讀取requestmap

2010-08-04 17:41:52

掛載NFS

2025-04-25 07:00:00

身份驗(yàn)證CISO無(wú)密碼

2011-02-21 10:54:45

2013-07-21 18:32:13

iOS開(kāi)發(fā)ASIHTTPRequ

2011-06-15 16:43:31

PHPIIS7

2017-02-15 14:56:24

Web應(yīng)用驗(yàn)證

2017-05-05 10:55:31

Web應(yīng)用登錄工程身份驗(yàn)證
點(diǎn)贊
收藏

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