客户端浏览器在 IIS 8.0 ASP-MVC 上不断冒充管理员帐户
Posted
技术标签:
【中文标题】客户端浏览器在 IIS 8.0 ASP-MVC 上不断冒充管理员帐户【英文标题】:Browser of client keeps impersonating as administrator account on IIS 8.0 ASP-MVC 【发布时间】:2014-07-09 13:23:26 【问题描述】:我正在为我的 Intranet 应用程序使用集成 Windows 身份验证,效果很好。但对于 1 个用户(+800 名),WindowsIdentity.GetCurrent().Name 和 HttpContext.Current.User.Identity.Name 中可用的用户名两者都返回错误的用户名。
此用户是拥有普通用户帐户和管理员帐户的 IT 成员。他使用他的普通用户帐户登录。他的 iexplore.exe 和 chome.exe 进程正在使用此帐户运行。我的 2 个活动应用程序和 sharepoint 显示正确的帐户。然而,这第 3 个应用程序显示了用户的管理员帐户。
当同一用户登录到另一台计算机或终端服务器时,一切都是正确的。当用户在开发中访问同一个应用程序时,一切都是正确的。
生产正在运行带有 IIS 8.0 的 Windows Server 2012。 开发正在运行带有 IIS 8.5 的 Windows 8.1。 IIS 被配置为仅使用 Windows 身份验证,但在启用 ASP Impersonation 时,WindowsIdentity 会给出完全相同的结果。
Web.config:
<authentication mode="Windows" />
<identity impersonate="true"/> <-- only required for ASP impersonation. Added when debugging.
一切都已重新启动和重置。此应用程序中的每个 URL 都是这种情况。简单或 FQDN,同样的事情。当向这个 MVC 应用程序添加新控制器时,只需
public class TestController : Controller
public string Index()
return System.Web.HttpContext.Current.User.Identity.Name;
还是一样.. 浏览器(Internet Explorer 10 和 Chrome !!)提供了错误的用户名。
这让我大吃一惊.. 我想我可以通过删除他的 windows 配置文件来解决它,但我真的很想知道是什么原因造成的。
谁能解释和/或帮助解决这个问题?
[编辑 9:30 10/7]
IIS 日志也显示此管理员帐户
当以其他用户身份运行 iexplore.exe 时,该用户会正确显示。当另一个运行 iexplore.exe 的用户作为他的普通用户帐户登录他的计算机时,他的管理员帐户会弹出。
[编辑 10/7 10:00]
现在我已经重置了他的 Internet Explorer 设置并清除了我可以清除的所有内容.. 但问题仍然存在!
【问题讨论】:
【参考方案1】:用户的普通帐户和管理员帐户使用相同的密码。我已要求他更改他的管理员帐户。
在他使用此管理员帐户登录后,使用他的用户帐户注销并重新登录 IIS 发送了凭据请求!然后他使用他的普通帐户登录,现在一切正常。
【讨论】:
以上是关于客户端浏览器在 IIS 8.0 ASP-MVC 上不断冒充管理员帐户的主要内容,如果未能解决你的问题,请参考以下文章
针对个别utf8编码站点在iis7上浏览器编码不能自动识别的解决方法
IIS 页面可在 LAN 中远程访问,但不能在服务器本地访问
MapRequestHandler - 在 IIS 8.0 中从 .aspx 路由 .html 时出现 404.0 错误