使用SOAP頭條目實現用戶名和密碼驗證

Web服務端代碼
<% @ WebService Language = " C# "  Class = " WebService "   %>

using  System;
using  System.Web;
using  System.Web.Services;
using  System.Web.Services.Protocols;

[WebService(Namespace 
=   " http://tempuri.org/ " )]
[WebServiceBinding(ConformsTo 
=  WsiProfiles.BasicProfile1_1)]
public   class  WebService  : System.Web.Services.WebService 
{
    
public AuthHeaderCS sHeader;
    [WebMethod(Description 
= "使用SOAP頭條目實現用戶名和密碼驗證")]
    [SoapHeader(
"sHeader")]
    
    
public string SecureMethod()
    
{
        
if (sHeader == null)
        
{
            
return "錯誤,請輸入驗證信息﹗";
        }

        
string UserName = sHeader.UserName;
        
string PassWord = sHeader.PassWord;
        
if (AuthenticateUser(UserName, PassWord))
        
{
            
return "驗證通過,您的用戶名為︰" + UserName + ",密碼為︰" + PassWord;
        }

        
else
        
{
            
return "驗證失敗,請重新輸入用戶名和密碼﹗";
        }

    }

    
    
private bool AuthenticateUser(string UserName, string PassWord)
    
{
        
if ((UserName == "John"&& (PassWord == "John"))
        
{
            
return true;
        }

        
else
        
{
            
return false;
        }

    }


}


public   class  AuthHeaderCS : SoapHeader
{
    
public string UserName;
    
public string PassWord;
}

<% @ Page Language="C#"  %>

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >

< script  runat ="server" >

    protected 
void Page_Load(object sender, EventArgs e)
    
{
        WebService myserver 
= new WebService();
        AuthHeaderCS header 
= new AuthHeaderCS();
        
try
        
{
            Response.Write(
"第一次調用︰" + myserver.SecureMethod() + "<br />");
        }

        
catch (Exception Err)
        
{
            Response.Write(Err.Message 
+ "<br />");
        }

        
try
        
{
            header.UserName 
= "John";
            header.PassWord 
= "Wang";
            myserver.sHeader 
= header;
            Response.Write(
"第二次調用︰" + myserver.SecureMethod() + "<br />");
        }

        
catch (Exception Err)
        
{
            Response.Write(Err.Message 
+ "<br />");
        }

        
try
        
{
            header.UserName 
= "John";
            header.PassWord 
= "John";
            myserver.sHeader 
= header;
            Response.Write(
"第三次調用︰" + myserver.SecureMethod() + "<br />");
        }

        
catch (Exception Err)
        
{
            Response.Write(Err.Message 
+ "<br />");
        }

    }

</ script >

< html  xmlns ="http://www.w3.org/1999/xhtml"   >
< head  runat ="server" >
    
< title > 使用SOAP頭條目實現用戶名和密碼驗證 </ title >
</ head >
< body >
    
< form  id ="form1"  runat ="server" >
    
< div >
    
    
</ div >
    
</ form >
</ body >
</ html >
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值