401未经授权的异常Web服务

时间:2013-06-05 07:31:24

标签: .net web-services iis

我从前端服务器调用Web服务时遇到401未经授权的异常,但相同的代码在应用服务器中工作正常。

为了验证这一点,我们创建了控制台应用程序来调用Web服务。 当我们从应用服务器调用服务时,它的工作正常,但同样在服务器中失败。

我们发现了一种不在FE服务器中执行下面代码的行为。

ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(ValidateRemoteCertificate);

(我们在ValidateRemoteCertificate方法中添加了一些注释,我们可以看到在app server中显示的消息不在前端服务器中)

  1. FE和app服务器中的所有证书都相同
  2. 使用相同的用户凭据运行。
  3. 之前是否有人面临同样的问题,还是需要验证任何配置?

1 个答案:

答案 0 :(得分:0)

401通常与访问服务而不是SSL证书有关。您应该检查下面的一些

如果使用匿名

  • 在IIS中 - 身份验证 - 确保在Web应用程序上启用了匿名身份验证
  • 确保IUSR permerssion位于您正在使用的文件夹权限

如果使用窗口验证

  • 在IIS中 - 身份验证 - 确保在Web应用程序上启用了Windows身份验证
  • 确保IIS_IUSRS permerssion位于您正在使用的文件夹权限上,并且与您希望访问的用户具有相同的角色。
  • 确保您的App Pool正在使用网络服务或委派用户帐户,正确设置以使用kerberos。

希望这有帮助。