※※※※自定义 SOAP头 身份验证问题(郁闷)。※※※※※

曲滨_銘龘鶽 2004-04-24 01:52:41
自定义 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 验证。。。
...全文
100 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
曲滨_銘龘鶽 2004-04-24
  • 打赏
  • 举报
回复
好了看来这问题就是个死结,我懂了,
完了我好去睡。我都郁闷了好几天了,
snowszygq 2004-04-24
  • 打赏
  • 举报
回复
web service 中每一个WebMethod就是一个独立的接口。
他们之间是没有任意关系的。你调用一个,它返回给你要的东东后,后的使命就完成了。在它之中所产生的结果,不会对其它method产生影响。 解决方法一个就是你所说的在每个入口里都加一个验证。另一个就是用Session存储。在验证函数里验证,把结果写入Session,然后其它的只要读Session中的值就可以了。
曲滨_銘龘鶽 2004-04-24
  • 打赏
  • 举报
回复
各位帮帮忙,我现在的一个工程 5000多函数
5000 个函数,老板要加验证!
要是就能
一个一个的加
我会累死的!
wwhile 2004-04-24
  • 打赏
  • 举报
回复
up
zytp 2004-04-24
  • 打赏
  • 举报
回复
up
skylarkzcc 2004-04-24
  • 打赏
  • 举报
回复
我不会,帮你顶!
曲滨_銘龘鶽 2004-04-24
  • 打赏
  • 举报
回复
帮忙顶一下 谢谢了各位!
那位帮帮忙,再线等待。
曲滨_銘龘鶽 2004-04-24
  • 打赏
  • 举报
回复
帮忙顶一下 谢谢了各位!

12,166

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧