Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net IE和Active Directory身份验证_Asp.net_Internet Explorer_Networking_Active Directory_Iis 7.5 - Fatal编程技术网

Asp.net IE和Active Directory身份验证

Asp.net IE和Active Directory身份验证,asp.net,internet-explorer,networking,active-directory,iis-7.5,Asp.net,Internet Explorer,Networking,Active Directory,Iis 7.5,我已经建立了一个内部网站,使用广告来确定预任务。非常适合IE 偶尔用户会访问该网站,并被要求提供凭据,即使他们正在使用IE。我猜IE没有发送该网站所需的广告信息,可能是因为安全设置 我使用的是Windows Server 2008 R2和IIS 7.5,设置了Windows身份验证 在代码中,当使用以下命令加载页面时,它会请求NT用户名: Dim ss As SoftwareStorage = New SoftwareStorage() Dim username As Strin

我已经建立了一个内部网站,使用广告来确定预任务。非常适合IE

偶尔用户会访问该网站,并被要求提供凭据,即使他们正在使用IE。我猜IE没有发送该网站所需的广告信息,可能是因为安全设置

我使用的是Windows Server 2008 R2和IIS 7.5,设置了Windows身份验证

在代码中,当使用以下命令加载页面时,它会请求NT用户名:

    Dim ss As SoftwareStorage = New SoftwareStorage()
    Dim username As String
    username = ss.returnUserName()
    ...
    <input type="hidden" id="domainName" value="<% Response.Write(username)%>" />
    ...
    Dim ftpUser As System.Security.Principal.IPrincipal
    Public Function returnUserName() As String
       ftpUser = System.Web.HttpContext.Current.User
       Return (ftpUser.Identity.Name)
    End Function
坏的一个在相同的两个初始调用上具有以下内容:

    GET / HTTP/1.1
    GET / HTTP/1.1
因此,在一个实例IE 9 Vista中,IE似乎没有根据请求发送正确的头信息,而在另一个实例IE 9 Win7中发送正确的头信息


我希望有人能帮我解决这个问题。

出于安全考虑,IE不会向服务器发送凭据,除非它确定可以信任服务器。对于自动发送域凭据尤其如此。因此,为了确保IE对您的服务器具有最大的信任度,您可以进入浏览器菜单“工具”、“Internet选项”、“安全性”,并显式地将您的服务器名称设置为位于Intranet区域中。Intranet区域的信任级别比普通受信任服务器高得多。 安全免责声明:除非您确实信任某个服务器,否则不要明确将其标识为intranet服务器

有关更多信息,请阅读IE的安全区域


另外,在IIS身份验证中,确保启用了Windows身份验证,禁用了匿名身份验证,然后选择Windows身份验证,右键单击提供程序,确保NTLM位于列表顶部。

出于安全原因,IE不会向服务器发送凭据,除非它确定可以信任服务器。对于自动发送域凭据尤其如此。因此,为了确保IE对您的服务器具有最大的信任度,您可以进入浏览器菜单“工具”、“Internet选项”、“安全性”,并显式地将您的服务器名称设置为位于Intranet区域中。Intranet区域的信任级别比普通受信任服务器高得多。 安全免责声明:除非您确实信任某个服务器,否则不要明确将其标识为intranet服务器

有关更多信息,请阅读IE的安全区域


另外,在IIS身份验证中,确保启用了Windows身份验证,并禁用匿名身份验证,然后选择Windows身份验证,右键单击提供程序,确保NTLM位于列表顶部。

Yep。检查过了。这就是我添加更多信息的原因。我认为失败发生在codebehind试图获取用户名时。我在内联网上有两台机器,我的第二台机器可以解决用户遇到的问题。我看到您正在使用vb.net。你试过我的用户了吗。另外,在IIS身份验证中,确保启用了Windows身份验证并禁用了匿名身份验证,然后选择Windows身份验证,右键单击提供程序确保NTLM位于列表的顶部。您可以。爸爸。成年男子我不必将代码更改为my.User。你所建议的IIS更改起到了什么作用!谢谢我编辑了您的答案以包含您的IIS更改EP。检查过了。这就是我添加更多信息的原因。我认为失败发生在codebehind试图获取用户名时。我在内联网上有两台机器,我的第二台机器可以解决用户遇到的问题。我看到您正在使用vb.net。你试过我的用户了吗。另外,在IIS身份验证中,确保启用了Windows身份验证并禁用了匿名身份验证,然后选择Windows身份验证,右键单击提供程序确保NTLM位于列表的顶部。您可以。爸爸。成年男子我不必将代码更改为my.User。你所建议的IIS更改起到了什么作用!谢谢我编辑了您的答案以包含您的IIS更改
    GET / HTTP/1.1
    GET / HTTP/1.1