※※※※自定义 SOAP头 身份验证问题(郁闷)。※※※※※
自定义 SOAP头
public class SelfSoapHeader : SoapHeader
{
public string UserNmae="";
public string Password="";
}
//一个简单的 WebService
public class Service1 : System.Web.Services.WebService
{
public SelfSoapHeader thisSoapHeader;
public Service1()
{
//CODEGEN: 该调用是 ASP.NET Web 服务设计器所必需的
InitializeComponent();
}
组件设计器生成的代码....
// WEB 服务示例
// HelloWorld() 示例服务返回字符串 Hello World
// 若要生成,请取消注释下列行,然后保存并生成项目
// 若要测试此 Web 服务,请按 F5 键
[WebMethod,SoapHeader("thisSoapHeader")]
public string UserLoad()
{
if( thisSoapHeader.UserNmae=="FlashElf" && thisSoapHeader.Password=="1234")
{
return "True";
}
else
{
this.Dispose();
throw new Exception("用户严验证个失败!");
}
}
}
[WebMethod,SoapHeader("thisSoapHeader")]
public string HelloWorldTow()
{
return "HelloWorldTow";
}
}
//Windows 客户端 myServer 是上面的 WebService
private void button1_Click(object sender, System.EventArgs e)
{
SelfSoapHeader soap=new SelfSoapHeader();
soap.Password=textBox2.Text;
soap.UserNmae=textBox1.Text;
myServer.SelfSoapHeaderValue=soap;
try
{
label1.Text= myServer.UserLoad();
}
catch(Exception Ex)
{
MessageBox.Show(Ex.Message);
}
}
private void button2_Click(object sender, System.EventArgs e)
{
try
{
label1.Text= myServer.HelloWorldTow();
}
catch(Exception Ex)
{
MessageBox.Show(Ex.ToString());
}
}
///////////////////////////////////////////////////
问题是 自定义 SOAP头 内的 密码 和 用户 不管是否正确都可以 WebService 下的其他函数。 调用函数
现在即使调用 WebService 的 UserLoad() 失败也可以调用
WebService 下的其他函数。
问一下
如果要写身份验证是否 WebService 下的每个函数都要象UserLoad 函数那样验证一次
有没有什么方式可以
一次验证不成功 WebService 下的每个函数都不可调用。
我不想用 Windows 验证。。。
public class SelfSoapHeader : SoapHeader
{
public string UserNmae="";
public string Password="";
}
//一个简单的 WebService
public class Service1 : System.Web.Services.WebService
{
public SelfSoapHeader thisSoapHeader;
public Service1()
{
//CODEGEN: 该调用是 ASP.NET Web 服务设计器所必需的
InitializeComponent();
}
组件设计器生成的代码....
// WEB 服务示例
// HelloWorld() 示例服务返回字符串 Hello World
// 若要生成,请取消注释下列行,然后保存并生成项目
// 若要测试此 Web 服务,请按 F5 键
[WebMethod,SoapHeader("thisSoapHeader")]
public string UserLoad()
{
if( thisSoapHeader.UserNmae=="FlashElf" && thisSoapHeader.Password=="1234")
{
return "True";
}
else
{
this.Dispose();
throw new Exception("用户严验证个失败!");
}
}
}
[WebMethod,SoapHeader("thisSoapHeader")]
public string HelloWorldTow()
{
return "HelloWorldTow";
}
}
//Windows 客户端 myServer 是上面的 WebService
private void button1_Click(object sender, System.EventArgs e)
{
SelfSoapHeader soap=new SelfSoapHeader();
soap.Password=textBox2.Text;
soap.UserNmae=textBox1.Text;
myServer.SelfSoapHeaderValue=soap;
try
{
label1.Text= myServer.UserLoad();
}
catch(Exception Ex)
{
MessageBox.Show(Ex.Message);
}
}
private void button2_Click(object sender, System.EventArgs e)
{
try
{
label1.Text= myServer.HelloWorldTow();
}
catch(Exception Ex)
{
MessageBox.Show(Ex.ToString());
}
}
///////////////////////////////////////////////////
问题是 自定义 SOAP头 内的 密码 和 用户 不管是否正确都可以 WebService 下的其他函数。 调用函数
现在即使调用 WebService 的 UserLoad() 失败也可以调用
WebService 下的其他函数。
问一下
如果要写身份验证是否 WebService 下的每个函数都要象UserLoad 函数那样验证一次
有没有什么方式可以
一次验证不成功 WebService 下的每个函数都不可调用。
我不想用 Windows 验证。。。
...全文
相关推荐
Web Services Soap头身份验证
SOAP头身份验证允许服务提供者验证请求的来源,确保只有合法的客户端可以与服务交互。常见的SOAP头身份验证方法有以下几种:1.
C#通过SOAP使用HttpWebRequest调用带有身份验证的WebService示例
本文介绍如何使用C#通过HttpWebRequest手动构造SOAP请求,调用需要身份验证的WebService接口。项目包含登录表单及配置文件,演示了与本地WebService的身份验证交互过程,核
.NET 访问JAVA的WEBSERVICE使用SOAP头
在Web服务中,SOAP头被用来封装与请求相关的元数据,如身份验证、交易管理等信息。对于需要安全性或事务处理的应用场景,SOAP头提供了必要的机制来满足这些需求。
php soap 头验证
然后,我们可以调用服务方法而不用担心认证问题。总结来说,PHP SOAP头验证是确保Web服务安全和可靠的关键环节,无论是服务器端还是客户端,都需要正确处理和验证SOAP头中的信息。
js调用webservice构造SOAP进行身份验证
在本文的示例代码中,身份验证信息是通过SOAP头部的自定义元素(UserSoapHeader)来传递的,其中包含用户名(UserName)和密码(Pwd)。


Web Services
