扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
现象:
asp.net中调用web services时提示错误:
请求因 HTTP 状态 401 失败:Access Denied。
将web services放到另一台服务器问题又不存在该问题。
解决办法:
1.新建方法:
#region GetCredentialCache
/// <summary>
/// 获取CredentialCache
/// 解决访问web service时提示没有权限的问题
/// </summary>
/// <returns></returns>
public static CredentialCache GetCredentialCache()
{
//权限验证web services地址
string WSUrl = RightsServicesUrl;
//Create an instance of the CredentialCache class.
CredentialCache cache = new CredentialCache();
// Add a NetworkCredential instance to CredentialCache.
// Negotiate for NTLM or Kerberos authentication.
cache.Add( new Uri(WSUrl), "Negotiate", new NetworkCredential("域用户名", "域密码", "域"));
return cache;
}
#endregion
2.为web services指定CredentialCache
web services引用名为RightsControl,添加如下代码:
RightsControl rightsControl = new RightsControl();
//为web services指定CredentialCache,最重要的就是这一句
rightsControl.Credentials = GetCredentialCache();
//调用rightsControl的方法
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者