C# Web Service 身份验证

 第一种方案:通过 SOAP Header

  首先需要我们自己去实现一个有身份验证信息的类,这个类继承System.Web.Services.Protocols.SoapHeader,而且定义两个成员变量,一个为UserName,一个为PassWord.

  public class MySoapHeader:SoapHeader

  {

  public string UserName

  {

  get;

  set;

  }

  public string PassWord;

  {

  get;

  set;

  }

  }

  也可以在此类中加入验证方法,当然需要看您项目的具体规划

  接下来是Web Service的写法

  代码

  public class WebService : System.Web.Services.WebService

  {

  public WebService()

  {

  //如果使用设计的组件,请取消注释以下行

  //InitializeComponent();

  }

  public MySoapHeader header;

  定义用户身份验证类变量header

  [WebMethod(Description = "用户验证测试")]

  [System.Web.Services.Protocols.SoapHeader("header")]//用户身份验证的soap头

  public string HelloWorld()

  {

  string userName = header.UserName;

  string passWord = header.PassWord;

  return "Hello World";

  //加入验证权限的方法,如果之前的SOAPHeader中已经有方法这里可以直接调用

  }

  }

  客户端调用时的代码比较简单:

  代码

  com.WebService test = new com.WebService();//你的web Service

  MySoapHeader Header = new MySoapHeader();//web引用创建soap头对象

  //设置soap头变量

  Header.UserName = "Zane";

  Header.PassWord = "Yao";

  test.MySoapHeaderValue = Header;

  //调用web 方法

  Response.Write(test.HelloWorld());

  这样就完成了~

  第二个方案: 将web服务程序设为集成windows身份验证,当然需要将匿名访问关闭,

  客户端web引用代码

  Test.WebReference.Service wr = new Test.WebReference.Service(); //生成web service实例

  wr.Credentials = new NetworkCredential("用户名","密码");

  Response.Write(wr.HelloWorld()); //调用web service方法

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25897606/viewspace-756654/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25897606/viewspace-756654/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值