Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 更改广告用户名会破坏ASP.MVC 3网站_Asp.net Mvc 3_Authentication_Active Directory_Iis 7.5_Roleprovider - Fatal编程技术网

Asp.net mvc 3 更改广告用户名会破坏ASP.MVC 3网站

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

我有一个ASP.NET MVC 3网站,它使用在IIS7.5下运行的Windows身份验证。此网站还使用自定义
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
也可以解决这个问题