У меня есть веб-сайт ASP.NET MVC 3, который использует проверку подлинности Windows, работающую под управлением IIS7.5. Этот веб-сайт также проверяет вручную группы в AD, используя GetRolesForUser
метод пользовательского RoleProvider
. В этом нет ничего особенного, и он отлично работает уже несколько месяцев.
Однако теперь у нас есть пользователь, у которого изменилось имя пользователя в Active Directory. У них все еще есть та же фактическая учетная запись AD, но для них теперь их имя входа отличается.
К сожалению, это сломало веб-сайт для этого пользователя. Я использую Elmah для регистрации ошибок, и я заметил, что REMOTE_USER
использует имя старой учетной записи, а LOGON_USER
использует имя новой учетной записи. Похоже, что параметр username
метода GetRolesForUser
получает имя старой учетной записи - поэтому я предполагаю, что он использует REMOTE_USER
.
Должен ли я нацеливаться на веб-сервер или веб-сайт для исправления? Я читал, что LOGON_USER
и REMOTE_USER
отличаются, только если установлен фильтр аутентификации. Я не знаю ничего подобного на веб-сервере (хотя точно не знаю, где искать), но MVC3 как-то добавляет это?