客户端浏览器在IIS 8.0 ASP-MVC上作为管理员帐户进行模拟

时间:2014-07-09 13:23:27

标签: asp.net asp.net-mvc iis

我正在为我的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模拟时,WindowsIdentity会提供完全相同的结果。

的Web.config:

<authentication mode="Windows" />
<identity impersonate="true"/>  <-- only required for ASP impersonation. Added when debugging.

一切都已重新启动&amp;重启。这个应用程序中的每个URL都是这种情况。简单或FQDN,同样的事情。仅使用

将新Controller添加到此MVC应用程序时
public class TestController : Controller
{
    public string Index()
    {
        return System.Web.HttpContext.Current.User.Identity.Name;
    }
}

它仍然是相同的......浏览器(BOTH Internet Explorer 10 AND Chrome !!)提供了错误的用户名。

这让我大吃一惊...... 我想我可以通过删除他的Windows配置文件解决它,但我真的想知道是什么导致它。

有人可以解释和/或帮助解决这个问题吗?

[编辑9:30 10/7]

IIS日志也显示此管理员帐户

以另一个用户身份运行iexplore.exe时,此用户显示正确。当用另一个运行iexplore.exe作为普通用户帐户的用户登录他的计算机时,会弹出他的管理员帐户。

[编辑10:00 10/7]

到现在为止,我已经重置了他的Internet Explorer设置并清除了我可以清除的所有内容..但问题仍然存在!

1 个答案:

答案 0 :(得分:0)

用户在其普通帐户和管理员帐户中使用相同的密码。我已要求他更改管理员帐户。

在他使用此管理员帐户登录后,注销并使用其用户帐户重新登录IIS发送了凭据请求!然后他使用他的普通帐户登录,现在一切正常。