【问题标题】:Change AD Username breaks ASP.MVC 3 web site更改 AD 用户名会破坏 ASP.MVC 3 网站
【发布时间】:2012-03-06 02:41:39
【问题描述】:

我有一个使用在 IIS7.5 下运行的 Windows 身份验证的 ASP.NET MVC 3 网站。该网站还使用自定义RoleProviderGetRolesForUser 方法手动检查AD 中的组。这没什么特别的,几个月来一直运行良好。

但是,我们现在有一个用户的 Active Directory 用户名已更改。他们仍然拥有相同的实际 AD 帐户,但他们的登录名现在不同了。

不幸的是,这破坏了该用户的网站。我正在使用 Elmah 记录错误,我注意到 REMOTE_USER 使用的是旧帐户名,LOGON_USER 使用的是新帐户名。看起来GetRolesForUser 方法的username 参数正在获取旧帐户名称 - 所以我假设它使用的是REMOTE_USER

我应该针对 Web 服务器还是网站进行修复?我读过LOGON_USERREMOTE_USER 只有在安装了身份验证过滤器时才会有所不同。我不知道网络服务器上有这样的事情(虽然我不确定在哪里看),但是 MVC3 是否以某种方式添加了这个?

【问题讨论】:

    标签: asp.net-mvc-3 authentication active-directory iis-7.5 roleprovider


    【解决方案1】:

    典型地,在我发布之后,我的 Google-Fu 启动了。

    似乎这是本地 sid 缓存的一个已知问题(按设计): http://support.microsoft.com/kb/946358

    解决方法是按照文章中的注册表更改(并再次撤消它?),或重新启动网络服务器。我读到IISRESET 也可以解决这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-20
      相关资源
      最近更新 更多