asp.net - Windows身份验证的User.Identity.Name

标签 asp.net

我在名为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/

相关文章:

c# - LINQ to Entities 无法识别方法 'System.String ToString()' 方法并且此方法无法转换为存储表达式

c# - 这是对返回 JSON 数据的动态关键字的正确使用吗?

c# - 如何在调用(例如 RedirectToAction)时避免使用硬编码字符串文字?

asp.net - 我无法从添加引用对话框中找到 System.Web.MVC [我位于 Webform 应用程序中]

c# - 在 ListView 中通过 imageurl 显示图像

asp.net - 使用 ASP.NET 将文件夹转换为应用程序

asp.net - 没有配置身份验证处理程序来处理方案 : Automatic

c# - 如何使用linq to sql从行中选择一列

c# - 如何使用 c# 在 asp.net 中恢复能够下载的文件 -> 最佳方式(也适用于大文件)

c# - 如何根据用户请求调用 WebUserControls?