您的位置:首页 > 编程语言 > ASP

ASP.NET中基于soaphead的webservice安全机制

2016-05-30 00:00 761 查看
使用soaphead方法可以在webservice的请求中增加头部信息,当有人调用我们的webservice时,可以通过查询这个请求的头部信息并验证来防止该软件以外的程序调用webservice

一、服务端部分

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

//请注意此命名空间必须有别于代理动态连接库上的命名空间。
//否则,将产生诸如多处定义AuthHeader这样的错误。
namespace SoapHeadersCS
{

//由SoapHeader扩展而来的AuthHeader类
public class AuthHeaderCS : SoapHeader
{
public string Username;
public string Password;
}

//[WebService(Description="用于演示SOAP头文件用法的简单示例")]
public class HeaderService
{

public AuthHeaderCS sHeader;

[WebMethod(Description = "此方法要求有调用方自定义设置的soap头文件")]
[SoapHeader("sHeader")]
public string SecureMethod()
{

if (sHeader == null)
return "ERROR:你不是VIP用户!";

string usr = sHeader.Username;
string pwd = sHeader.Password;

if (AuthenticateUser(usr, pwd))
{
return "成功:" + usr + "," + pwd;
}
else
{
return "错误:未能通过身份验证";
}
}

private bool AuthenticateUser(string usr, string pwd)
{

if ((usr != null) && (pwd != null))
{
return true;
}
return false;
}
}
}


二、客户端部分加上验证的请求

WebService webservice = new WebService();
AuthHeaderCS auth = new AuthHeaderCS();
auth.Username = "vip";
auth.Password = "vippw";
webservice.AuthHeaderCSValue = auth;
textBox1.Text = webservice.SecureMethod();


以上就是基于soaphead的webservice安全机制全部内容,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

Jquery + Ajax调用webService实例代码(asp.net)
asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码
PHP中调用ASP.NET的WebService的代码
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
ASP.NET WebService中使用ASP.NET_SessionId的问题说明
使用ASP.NET一般处理程序或WebService返回JSON的实现代码
asp.net(c#)动态修改webservice的地址和端口(动态修改配置文件)
asp.net类库中添加WebService引用出现问题解决方法
asp.net webservice返回json的方法
ASP.NET实现基于Forms认证的WebService应用实例
ASP.NET如何定时调用WebService服务
ASP.NET调用WebService服务的方法详解
ASP.NET中Webservice安全 实现访问权限控制
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ASP.NET webservice