加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

webservice 验证失败问题

发布时间:2020-12-17 01:18:12 所属栏目:安全 来源:网络整理
导读:开始学习WebServer,客户端调用时,提示 "请求因 HTTP 状态 401 失败: Unauthorized。" 查看相关文档,找到两种解决方法 1.右击 - 虚拟目录 - 属性 - 目录安全性 - 编辑 打开对话框后,勾选"启用匿名访问" 2.在WebServer实例化调用前加 "字段名..Credentials

开始学习WebServer,客户端调用时,提示 "请求因 HTTP 状态 401 失败: Unauthorized。"
查看相关文档,找到两种解决方法
1.右击 - 虚拟目录 - 属性 - 目录安全性 - 编辑 打开对话框后,勾选"启用匿名访问"
2.在WebServer实例化调用前加 "字段名..Credentials = System.Net.CredentialCache.DefaultCredentials;"
例如:
WEB1.Service ws1 = new WebServer_Test.WEB1.Service();
ws1.Credentials = System.Net.CredentialCache.DefaultCredentials;
textBox1.Text = ws1.HelloWorld();

另,以下引用 Mood 朋友的一段话调用WS的时候,在IIS上有验证设置的,一般设置的是basic验证或者Windows集成验证,这就是说,你要访问这个WS,必须提供一个有权限调用的windows身份,这个时候,如果你的当前调用WS的运行帐号存在于对方系统中,并且密码一样,那么,你的那句ws.Credentials=CredentialCache.DefaultCredentials;就有用,否则,你应该如此写:ws.Credentials = new NetworkCredential(userid,password,domainname),当然如果对方的WS使用了匿名验证,你当前就可以不用写ws.Credentials=....这行代码了。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读