【发布时间】:2025-11-21 03:55:03
【问题描述】:
我有一个 Silverlight 应用程序(使用 MVC),当我在 Visual Studio 中构建时,使用 Visual Studio 开发中心,没有问题,HttpContext.Current.User.Identity.Name 有一个值
但是当我使用 IIS 7.5 的同一个项目(我使用的是 Windows 7)时,HttpContext.Current.User.Identity.Name 保持为空
谁能帮忙?或者知道在哪里可以找到 Visual Studio 开发中心的设置,以便检查 IIS 中的问题?
【问题讨论】:
-
检查您的身份验证设置。 HttpContext.Current.User 是包装当前用户的 IPrincipal - 无论是 Windows 用户、.NET Forms 安全主体、Passport 主体还是您自己项目中的自定义用户主体。我怀疑 IIS7 允许匿名身份验证,而无论出于何种原因,Visual Studio 都以经过身份验证的用户身份运行。 Visual Studio 中返回的 .Name 值是什么,您的 IIS 站点上的身份验证设置是什么?
-
.Name 在 Visual Studio 中返回“lapjordy\\Jordy”(我的 Windows 登录名)。在 IIS 中的名称返回“”(空字符串)我在 IIS 中关闭匿名身份验证并打开 Windows 身份验证,但随后浏览器要求我给我我的 Windows 凭据。我唯一想要的是应用程序(silverlight)给我当前 Windows 用户的名称(没有浏览器要求我的用户名 --> 参见图片)
标签: visual-studio iis httpcontext