C# 带模拟的HttpWebRequest
我正在一个环境中开发一个应用程序,在这个环境中,用户可以对所有应用程序进行NTLM单点登录身份验证。基本上,应用程序是打开的,通过从用户的配置文件中收集信息来识别它们。我正在处理的应用程序是现有Web应用程序的扩展。此应用程序对Active Directory中的现有服务帐户使用模拟。现在,在我的应用程序中,我对运行数据服务的第二台服务器执行System.Net.HttpWebRequest。当我提出请求时,我会这样做:C# 带模拟的HttpWebRequest,c#,asp.net,httpwebrequest,C#,Asp.net,Httpwebrequest,我正在一个环境中开发一个应用程序,在这个环境中,用户可以对所有应用程序进行NTLM单点登录身份验证。基本上,应用程序是打开的,通过从用户的配置文件中收集信息来识别它们。我正在处理的应用程序是现有Web应用程序的扩展。此应用程序对Active Directory中的现有服务帐户使用模拟。现在,在我的应用程序中,我对运行数据服务的第二台服务器执行System.Net.HttpWebRequest。当我提出请求时,我会这样做: System.Net.HttpWebRequest
System.Net.HttpWebRequest request = System.Net.WebRequest.Create(URL) as System.Net.HttpWebRequest;
request.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
request.Method = "Get";
using (System.Net.HttpWebResponse response = request.GetResponse() as System.Net.HttpWebResponse)
{ ...
如您所见,我将凭据设置为DefaultNetworkCredentials,以确保无论是谁记录的凭据都将在请求中传递。当我尝试从托管应用程序的VM运行时,它运行良好。因此,如果我将请求放在宿主VM中的我的应用程序中,因为它一切正常。但是,当我使用中的显式服务器名称从VM外部调用同一应用程序时,我请求数据的辅助服务器会拒绝该调用,并出现错误
有什么想法吗?我如何追踪正在发生的事情?我试过小提琴手,但没发现有什么事发生。
提前谢谢
UDPATE:我将应用程序池运行的帐户更改为管理员用户。我得到了相同的结果。服务器设置为进行NTLM身份验证还是Kerberos身份验证?我不确定是否诚实。我没见过。谁能说你的问题是什么?我也有同样的问题。我将请求凭据和ImpersonationLevel设置为Impersonation。。