更改AD用户名会破坏ASP.MVC 3网站

时间:2012-03-06 02:41:39

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

我有一个ASP.NET MVC 3网站,它使用在IIS7.5下运行的Windows身份验证。此网站还使用自定义GetRolesForUser的{​​{1}}方法手动检查AD中的组。这不是什么特别的事,现在已经好几个月了。

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

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

我应该定位到网络服务器或网站以进行修复吗?我已经知道,如果安装了身份验证过滤器,REMOTE_USERLOGON_USER只会有所不同。我不知道Web服务器上有这样的东西(尽管我不确定在哪里看),但MVC3是否会以某种方式添加它?

1 个答案:

答案 0 :(得分:2)

典型的是,在我发布之后,我的Google-Fu开始了。

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

解决方法是遵循文章中的注册表更改(并再次撤消它?),或重新启动Web服务器。我已经读过IISRESET也可能解决这个问题。