Asp.net mvc 3 更改广告用户名会破坏ASP.MVC 3网站
我有一个ASP.NET MVC 3网站,它使用在IIS7.5下运行的Windows身份验证。此网站还使用自定义Asp.net mvc 3 更改广告用户名会破坏ASP.MVC 3网站,asp.net-mvc-3,authentication,active-directory,iis-7.5,roleprovider,Asp.net Mvc 3,Authentication,Active Directory,Iis 7.5,Roleprovider,我有一个ASP.NET MVC 3网站,它使用在IIS7.5下运行的Windows身份验证。此网站还使用自定义RoleProvider的GetRolesForUser方法手动检查AD中的组。这没什么特别的,几个月来一直运作良好 但是,现在有一个用户的Active Directory用户名已更改。他们仍然有相同的实际广告帐户,但对他们来说,他们的登录名现在不同了 不幸的是,这已经破坏了该用户的网站。我使用Elmah记录错误,我注意到,REMOTE\u USER使用的是旧帐户名,LOGON\u US
RoleProvider
的GetRolesForUser
方法手动检查AD中的组。这没什么特别的,几个月来一直运作良好
但是,现在有一个用户的Active Directory用户名已更改。他们仍然有相同的实际广告帐户,但对他们来说,他们的登录名现在不同了
不幸的是,这已经破坏了该用户的网站。我使用Elmah记录错误,我注意到,REMOTE\u USER
使用的是旧帐户名,LOGON\u USER
使用的是新帐户名。看起来GetRolesForUser
方法的username
参数正在获取旧帐户名-因此我假设它使用的是REMOTE\u USER
我应该针对web服务器或web站点进行修复吗?我已经读到,
LOGON\u USER
和REMOTE\u USER
只有在安装了身份验证过滤器的情况下才是不同的。我不知道在web服务器上有这样的东西(虽然我不知道确切的位置),但是MVC3是否以某种方式添加了它?典型的是,在我发布之后,我的Google Fu启动了
这似乎是本地sid缓存的一个已知问题(根据设计):
解决方法是跟踪文章中的注册表更改(并再次撤消它?),或者重新启动web服务器。我已经读到,IISRESET
也可以解决这个问题