【发布时间】:2012-03-06 02:41:39
【问题描述】:
我有一个使用在 IIS7.5 下运行的 Windows 身份验证的 ASP.NET MVC 3 网站。该网站还使用自定义RoleProvider 的GetRolesForUser 方法手动检查AD 中的组。这没什么特别的,几个月来一直运行良好。
但是,我们现在有一个用户的 Active Directory 用户名已更改。他们仍然拥有相同的实际 AD 帐户,但他们的登录名现在不同了。
不幸的是,这破坏了该用户的网站。我正在使用 Elmah 记录错误,我注意到 REMOTE_USER 使用的是旧帐户名,LOGON_USER 使用的是新帐户名。看起来GetRolesForUser 方法的username 参数正在获取旧帐户名称 - 所以我假设它使用的是REMOTE_USER。
我应该针对 Web 服务器还是网站进行修复?我读过LOGON_USER 和REMOTE_USER 只有在安装了身份验证过滤器时才会有所不同。我不知道网络服务器上有这样的事情(虽然我不确定在哪里看),但是 MVC3 是否以某种方式添加了这个?
【问题讨论】:
标签: asp.net-mvc-3 authentication active-directory iis-7.5 roleprovider