我怎么知道哪个帐户试图访问一个ASP.NET web服务?
-
18-09-2019 - |
题
我收到呼叫上的内部Web服务的方法401(拒绝访问)。我是从我们公司内部一个ASP.NET页面调用它。我检查了所有的配置,它应该使用集成的安全性与访问该服务的帐户,但我试图找出如何确认它在连接哪个帐户。不幸的是我不能调试生产网络上的代码。在我们的开发环境,一切工作正常。我知道必须有在设置有差别,但我在与从哪里开始的损失。任何建议?
解决方案
有你的IIS日志看?
其他提示
我也建议看在服务器进行认证故障对安全事件日志。你应该在这里找到失败的授权尝试的足迹。虽然被警告 - 这是不寻常获得安全事件10S第二,所以最好你需要能够为请求无法访问事件日志
如果你不指定,当你实例化Web服务在ASP.NET页面中使用该证书,那么我相信它默认为 NT_AUTHORITY \匿名
如果你使用System.Net.CredentialCache将您的网络服务需要在一个信任域,通过HTTPS访问和使用NTLM身份,Kerberos或摘要验证,否则不通过从缓存的凭据。
http://msdn.microsoft.com /en-us/library/system.net.credentialcache.defaultcredentials.aspx http://msdn.microsoft.com/en-我们/库/ system.net.credentialcache.defaultnetworkcredentials.aspx http://msdn.microsoft.com/en-我们/库/ system.net.credentialcache.defaultcredentials.aspx
也许在生产服务器使用不同的用户对于它的应用程序池比你的开发环境?我曾经花了一天盘算,一个出。另一种办法是在(缺乏)模拟在web.config