科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件调用web services提示Access Denied的解决办法[整理]

调用web services提示Access Denied的解决办法[整理]

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

调用web services提示Access Denied的解决办法

作者:明天去要饭 来源:CSDN 2008年3月29日

关键字: Access Service web Web开发 软件

  • 评论
  • 分享微博
  • 分享邮件

现象:
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领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章