WebService通过SOAP头进行身份验证
2009-09-23 14:24
417 查看
1、自定义soapheader
namespace WebService2
{
/// <summary>
/// Service1 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//[ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
// [System.Web.Script.Services.ScriptService]
public class Service1 : System.Web.Services.WebService
{
public SecurityHeader currentUser;
public Service1()
{
//如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}
[WebMethod, SoapHeader("currentUser")]
public string GetResult(string queryString)
{
if (ValidateUser(currentUser.UserName, currentUser.UserPass))
{
return queryString;
}
else
{
return "您不能使用该服务";
}
}
//判断逻辑
public bool ValidateUser(string user, string pass)
{
if (user.Equals("user") && pass.Equals("user"))
return true;
else
return false;
}
}
//继承SoapHeader
public class SecurityHeader : System.Web.Services.Protocols.SoapHeader
{
public string UserName;
public string UserPass;
}
}
2、客户端调用web服务,现将webService引用到客户端程序
private void button1_Click(object sender, EventArgs e)
{
//先定义soapheader
Text_WebService.localhost.SecurityHeader header = new Text_WebService.localhost.SecurityHeader();
header.UserName =textBox1.Text;
header.UserPass =textBox2.Text;
Text_WebService.localhost.GetResultRequest service = new Text_WebService.localhost.GetResultRequest();
service.SecurityHeader =header;
Text_WebService.localhost.Service1SoapClient result = new Text_WebService.localhost.Service1SoapClient();
//result.GetResult(header, "123")
//调用服务器端的方法
MessageBox.Show(result.GetResult(header, "123"));
}
namespace WebService2
{
/// <summary>
/// Service1 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//[ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
// [System.Web.Script.Services.ScriptService]
public class Service1 : System.Web.Services.WebService
{
public SecurityHeader currentUser;
public Service1()
{
//如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}
[WebMethod, SoapHeader("currentUser")]
public string GetResult(string queryString)
{
if (ValidateUser(currentUser.UserName, currentUser.UserPass))
{
return queryString;
}
else
{
return "您不能使用该服务";
}
}
//判断逻辑
public bool ValidateUser(string user, string pass)
{
if (user.Equals("user") && pass.Equals("user"))
return true;
else
return false;
}
}
//继承SoapHeader
public class SecurityHeader : System.Web.Services.Protocols.SoapHeader
{
public string UserName;
public string UserPass;
}
}
2、客户端调用web服务,现将webService引用到客户端程序
private void button1_Click(object sender, EventArgs e)
{
//先定义soapheader
Text_WebService.localhost.SecurityHeader header = new Text_WebService.localhost.SecurityHeader();
header.UserName =textBox1.Text;
header.UserPass =textBox2.Text;
Text_WebService.localhost.GetResultRequest service = new Text_WebService.localhost.GetResultRequest();
service.SecurityHeader =header;
Text_WebService.localhost.Service1SoapClient result = new Text_WebService.localhost.Service1SoapClient();
//result.GetResult(header, "123")
//调用服务器端的方法
MessageBox.Show(result.GetResult(header, "123"));
}
相关文章推荐
- js调用webservice 并构造SOAP进行身份验证
- WebService:使用 Soap 标头自定义身份验证和授权(转载)
- js调用webservice:通过通过SOAP Header身份验证
- 通过使用客户端证书调用 Web 服务进行身份验证(zz)
- 通过使用客户端证书调用 Web 服务以便在 ASP.NET Web 应用程序中进行身份验证
- 使用SoapHeader对WebService进行身份验证
- [学习日记]对SOAP头内添加信息的验证,可实现对请求WEB服务进行身份验证。
- python通过http请求发送soap报文进行webservice接口调用
- 利用webservice.htc如何使用Soap标头自定义身份验证和授权
- 解决: 关于配置局域网内通过一台WEB服务器连接到域服务器进行身份验证的IP设置
- JDBC通过集成身份验证进行连接 sqlserver
- fiddler 手机代理上网 通过代理服务器进行身份验证失败
- 通过使用客户端证书调用 Web 服务进行身份验证(zz)
- 调用webservice进行身份验证
- 使用soap的header进行身份验证
- 通过使用客户端证书调用 Web 服务进行身份验证{转}
- 调用webservice接口时出现401错误 添加身份验证
- 在ASP.NET Atlas中结合Membership进行身份验证
- 分别用(Windows/Form/Soap/WebService)实现用户身份验证(含示例代码下载)
- WebService之Soap头验证入门