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

调用WebService时的401 Unauthorized问题

发布时间:2020-12-17 02:33:40 所属栏目:安全 来源:网络整理
导读:? ???? 今天在做WebService的调用时出现了这样一个问题: 请求因 HTTP 状态 401 失败:Unauthorized 。 ????? 一时我不知道怎么回事,上网查了些资料,原来是这样的。 ????? 这个问题是出现在.net 2.0、IIS5的环境下在大部分的ASP.NET程序部署方案中,IIS的

????? 今天在做WebService的调用时出现了这样一个问题:请求因 HTTP 状态 401 失败:Unauthorized

????? 一时我不知道怎么回事,上网查了些资料,原来是这样的。

????? 这个问题是出现在.net 2.0、IIS5的环境下在大部分的ASP.NET程序部署方案中,IIS的配置都会选择“目录安全性”为“匿名访问”,这样所有用户都可以轻松的访问WEB应用。我们也可以在WEB应用程序中,再调用WebService。
????? 不过在有域(domain)的局域网中,有时会需要WEB应用识别用户的身份,这时的IIS配置,就不能选择“匿名访问”了,而要选择“windows域服务器身份验证”,并且要选择一个默认的域。做了这样的修改以后,再要访问这个WEB应用,就必须输入域用户和密码了。当然你也可以把当前的站点添加到“受信任站点”里面,IE会自动帮你登录。这时问题出现了,在使用调用了WebService的功能的时候,页面提示异常:请求因 HTTP 状态 401 失败:Unauthorized
????? 这个问题的主要原因是,WEB应用没有把当前的凭据传给WebService,而WebService也需要用户的身份信息,因此报了“未授权”的错误。只要把WebService的实例对象的Credentials属性重新设置,问题解决了。
? ws_obj.Credentials = System.Net.CredentialCache.DefaultCredentials;

(编辑:李大同)

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

    推荐文章
      热点阅读