【发布时间】:2012-12-18 18:23:53
【问题描述】:
我想弄清楚为什么 HttpContext.User.Identity.Name 返回空白。
代码
public ActionResult Test()
{
string username = HttpContext.User.Identity.Name;
return Content(username);
}
我是否在错误的上下文中使用它?我正在尝试获取用户的用户名。
Web.Config
<authentication mode="Windows" />
IIS
我已启用匿名,没有检查任何其他内容。我正在运行 IIS 6.0。
我需要添加任何类型的信息来帮助解决这个问题吗?我很困。我checked this question 但我是否需要设置一个 Cookie 才能使这项工作?
【问题讨论】:
-
HttpContext.User.Identity.Name 是否为空?或者从 GetFileNameWithoutExtension 返回的字符串是空白的?您的身份验证配置是什么样的?
-
您使用什么身份验证机制?形式?视窗?你检查过 Request.IsAuthenticated 返回 true 了吗?
-
我更新了问题。我粘贴了以前使用的旧代码。它“确实”起作用了。 IsAuthenticated 返回 false。
-
取消选中 IIS 中的匿名身份验证,仅启用 Windows 身份验证。这将解决它。
-
由于某种原因没有工作。
标签: c# asp.net-mvc