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

本文介绍了一个使用SOAP头进行用户名及密码验证的Web服务示例。通过C#实现了一个简单的Web服务,该服务利用SOAP头来传递认证信息,并在服务器端进行验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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、付费专栏及课程。

余额充值