
ASP.NET中WebService的两种身份验证方法
发布日期:2021-05-09 09:34:30
浏览次数:18
分类:博客文章
本文共 1486 字,大约阅读时间需要 4 分钟。
一、通过SOAP Header身份验证
此方法是通过设置SOAP Header信息来验证身份,主要通过以下几步:
1、在服务端实现一个SOAP Header类
public class CredentialSoapHeader : System.Web.Services.Protocols.SoapHeader
{ //验证身份的用户名 public string UserId { get; set; } //验证身份的密码 public string Password { get; set; }}2、创建WebService
[WebService(Namespace=)]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]public class WebService : System.Web.Services.WebService{ public WebService() { //如果使用设计的组件,请取消注释以下行 //InitializeComponent(); } //生成一个CredentialSoapHeader类的实例 public CredentialSoapHeader header; [WebMethod(Description="用户验证测试")] [System.Web.Services.Protocols.SoapHeader("header")] //用户身份验证的soap header public string HelloWorld(string contents) { //验证是否有权访问(当然,也可以通过查询数据库实现,具体视项目要求) if(header.UserId.equals("admin") && header.Password.equals("admin")) { return "Hello World " + contents; } else { return "无权使用此服务"; } }}3、调用WebService
protected void Button1_Click(object sender, EventArgs e)
{ localhost.WebService service = new localhost.WebService(); localhost.CredentialSoapHeader header = new localhost.CredentialSoapHeader(); //设置SOAP Header Header.UserId = "admin"; Header.Password = "admin"; service.CredentialSoapHeader = header; //调用Web方法 Response.Write(service.HelloWorld("测试"));}
二、通过集成windows身份验证
1、将WebService设为集成Windows身份验证
2、客户端引用代码
localhost.WebService service = new localhost.WebService();
service.Credentials = new NetworkCredential("guest","123"); //guest是用户名,123是密码string result = service.HelloWorld("测试");发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2025年04月23日 00时20分29秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Eucalyptus企业云计算
2019-03-06
Service Broker 无法工作的问题修复
2019-03-06
WCF WebHttp Services in .NET 4
2019-03-06
Powershell中禁止执行脚本解决办法
2019-03-06
HTTP协议状态码详解(HTTP Status Code)
2019-03-06
JMeter 中实现发送Java请求
2019-03-06
设计模式点滴
2019-03-06
数据库优化
2019-03-06
[备忘]域用户登陆出现“此工作站和主域间的信任关系失败”错误解决方法
2019-03-06
继续聊WPF——用Blend自定义Listview控件的列表头
2019-03-06
【WPF】制作自定义的列表项面板
2019-03-06
【.net 深呼吸】启动一个进程并实时获取状态信息
2019-03-06
OO_Unit2 多线程电梯总结
2019-03-06
json-lib的使用《二》
2019-03-06
LeetCode52题,别再问我N皇后问题了
2019-03-06
Swagger常用注解
2019-03-06
简单实用算法——字节位序反转
2019-03-06
webpack之带有可自动打开浏览器及热重载的基本配置
2019-03-06
前端的批量接口如何快速响应?有没有通用解决方案?
2019-03-06