Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.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 具有windows身份验证的User.Identity.Name_Asp.net - Fatal编程技术网

Asp.net 具有windows身份验证的User.Identity.Name

Asp.net 具有windows身份验证的User.Identity.Name,asp.net,Asp.net,我的标题中有一个非常简单的局部视图,名为AccountInfoPanel。 它只有一行: Welcome: @HttpContext.Current.User.Identity.Name 在我的Web.Config中 <authentication mode="Windows" /> 但标识名始终为空。 如果我通过VS 2012进行调试,并中断索引操作,我会看到它是空的 如果我在启用Windows身份验证和禁用匿名身份验证的情况下通过IIS运行它,我会遇到一个挑战。 因此,我

我的标题中有一个非常简单的局部视图,名为AccountInfoPanel。 它只有一行:

Welcome: @HttpContext.Current.User.Identity.Name
在我的Web.Config中

<authentication mode="Windows" />

但标识名始终为空。 如果我通过VS 2012进行调试,并中断索引操作,我会看到它是空的

如果我在启用Windows身份验证和禁用匿名身份验证的情况下通过IIS运行它,我会遇到一个挑战。 因此,我尝试插入我的帐户或test1和test2帐户。 它回来说:

HTTP错误401.1-未经授权 您没有使用您提供的凭据查看此目录或页面的权限

我还尝试将模拟设置为true,并从挑战中得到相同的响应。 有人知道怎么设置吗

如果所有的设置都必须在IIS中完成,那么如何在VisualStudio中调试代码


还有一个问题。我的老板似乎认为你甚至不需要登录框。我只知道你是谁。您可以使用不同的帐户在IE中“以”身份运行。

检查我清单上的一个可能问题

简言之:

首先,确保已关闭站点的匿名身份验证:

其次,在Interner Explorer中启用集成安全性(选项/Advanced并签入“启用集成Windows身份验证”选项)

第三,将您的网站添加到本地Intranet区域,并在选项/安全设置/本地Intranet/自定义级别下至少选择“仅在Intranet区域自动登录”选项


第四,确保用户和应用程序服务器位于同一域。

要解决此问题,必须启用Windows身份验证功能。请按照以下步骤操作:

-单击开始,然后单击控制面板。打开“程序”组。 -在程序和-功能下,单击打开或关闭Windows功能。 -展开标记为Internet信息服务的项目。 -展开标记为万维网服务的项目-展开项目安全-> 确保选择Windows身份验证


您还需要禁用来自IIS的匿名身份验证,如下所示:-单击IIS中的应用程序-双击IIS组下的身份验证-单击匿名身份验证-单击操作右侧的禁用。希望这有助于Visual Studio安装IIS Express以服务于web应用程序,因此您必须将其配置为使用Windows身份验证

IIS Express的配置文件通常位于此处(详细信息:):

禁用匿名身份验证(默认情况下启用):


启用Windows身份验证(默认情况下禁用):


我知道这是一个老问题,但既然没有答案,也许有人可以使用我的提示。我一直在努力解决这样一个问题有一段时间了,最后,我发现需要安装URL授权才能使其正常工作

导航到windows功能并安装以下功能:

Web服务器(IIS)->Web服务器->安全->URL授权


为了以防万一,我还重新启动了IIS,但我不确定是否需要它。

谢谢您提供的所有信息。不过现在还是运气好。它仍然拒绝我的证书。MylocalmachineName\Test1 Test1Password我刚刚完成了这项工作。谢谢Wiktor。唯一的区别是,只有在IIS中使用基本身份验证,我才能让它工作。Windows身份验证不起作用。希望它能在我们部署时起作用。确认这对我有效。特别是启用Windows身份验证功能和禁用匿名身份验证功能。哇,谢谢。我的旧笔记本电脑在没有任何警告的情况下被更换了,显然我跳过了这一步。为了澄清,匿名身份验证可以在域中启用,但不能在应用程序级别启用。我从一大早就开始搜索,刚才偶然发现了你的答案,在遵循你的步骤并重新启动我的计算机后,我终于让它工作了,非常感谢你,这是一个答案
%userprofile%\documents\iisexpress\config\applicationhost.config
<anonymousAuthentication enabled="false" userName="" />
<windowsAuthentication enabled="true">
   <providers>
     <add value="Negotiate" />
     <add value="NTLM" />
   </providers>
</windowsAuthentication>