У нас есть пользователь, который недавно изменил имя.
Допустим, старое имя пользователя было old.name, а новое имя - new.name.
После редактирования сведений в AD и выхода из системы / входа в систему с новым именем пользователя наше приложение ASP.NET отображает старое имя.
Простой ASP.NET, без MVC, с использованием аутентификации Windows.
Код для получения имени пользователя:
WindowsPrincipal wp = (WindowsPrincipal)HttpContext.Current.User;
String userName = wp.Identity.Name.Substring(wp.Identity.Name.IndexOf("\\") + 1);
Возвращает old.name, а не new.name.
Я проверил файлы журнала IIS, они показывают новое имя:
2011-04-05 11:41:44 W3SVC1 MARS 10.57.1.64 GET /eft/Default.aspx - 80 - 10.57.0.161 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.2;+Trident/4.0;+.NET+CLR+1.1.4322;+.NET+CLR+2.0.50727;+.NET+CLR+3.0.4506.2152;+.NET+CLR+3.5.30729;+.NET4.0C;+.NET4.0E) 401 2 2148074254
2011-04-05 11:41:44 W3SVC1 MARS 10.57.1.64 GET /eft/Default.aspx - 80 SANOMABP\new.name 10.57.0.161 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.2;+Trident/4.0;+.NET+CLR+1.1.4322;+.NET+CLR+2.0.50727;+.NET+CLR+3.0.4506.2152;+.NET+CLR+3.5.30729;+.NET4.0C;+.NET4.0E) 200 0 0
Мы перезапустили пул приложений, проверили данные AD и у нас больше нет идей, что может быть не так.