我在名为AccountInfoPanel的 header 中有一个非常简单的局部 View 。
它只有一行:
Welcome: @HttpContext.Current.User.Identity.Name
在我的Web.Config中
<authentication mode="Windows" />
但是身份名称始终为空。
如果我通过VS 2012进行调试,并中断了index操作,我会发现它为空。
如果我通过启用了Windows身份验证且禁用了匿名身份验证的IIS运行它,则会遇到挑战。
因此,我尝试插入我的帐户或test1和test2帐户。
它回来并说:
HTTP错误401.1-未经授权
您无权使用您提供的凭据查看此目录或页面。
我还尝试将“模拟”设置为true,并从挑战中获得相同的响应。
有人知道如何设置吗?
如果所有设置都必须在IIS中完成,那么如何在Visual Studio中调试代码?
另一个问题。我的老板似乎认为您甚至不需要登录框。 IE只会知道您是谁。您可以使用其他帐户在IE中“运行为”。
最佳答案
检查我的 list 上可能存在的问题之一
http://netpl.blogspot.com/2012/06/iis-75-integrated-security-with-no.html
简而言之:
首先,请确保该站点的“匿名身份验证”已关闭:
其次,在Interner Explorer中启用集成安全性(选项/高级,然后选中“启用集成Windows身份验证”选项)。
第三,将您的网站添加到“本地Intranet”区域,并至少在“选项”/“安全性设置”/“本地Intranet/自定义级别”下选择“仅在Intranet区域中自动登录”选项。
第四,确保用户和应用程序服务器在同一域中。
关于asp.net - Windows身份验证的User.Identity.Name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18276067/