ASP.NET олицетворяет собой .NETFramework 2 VS .NETFrameWork 4
У нас есть сайт ASP.NET в .NetFramework 2 (с App Pool 2 Classic в IIS 7.5). Мы используем смешанную аутентификацию сBasic Authenticate
а такжеForm Authenticate
.
Конфигурация в IIS:
И есть конкретный пользователь в анонимной аутентификации с именем:Guest
.
Когда пользователь Войти с другим именем пользователя, какAdmin
мы используем олицетворение:
string Token = GetSpecificTokenOfCurrentUser();
System.Security.Principal.WindowsIdentity WinUser = (WindowsIdentity) HttpContext.Current.Application["User_"+Token];
WinUser.Impersonate();
Так что все будет идеально, пока мы не обновим веб-сайт до .NetFramework 4 и не добавим в него множество функций .NET 4, и мы решили, что у нас возникла новая проблема.
Проблема заключается в входе пользователя сAdmin
И открыть одновременно несколько страниц (3-4), например, быстро открываемых в новой вкладке, в некоторых случаях Пользователь не выдавал себя за другого. Как и на первой странице, подражая правильноAdmin
но другие страницы не олицетворены и все еще имеютGuest
Пользователь.
Это так странно, у нас нет никаких изменений в части аутентификации. изменения в том, что мы обновляем до .NetFrameWork 4, а пул приложений - .NetFrameWork 4 - Classic.
У нас есть тест в .Net 2 версии веб-сайта. все в порядке, но мы изменили пул приложений на .NetFrameWork 4, и проблема была показана.
Итак, вопрос в том, какие изменения произошли в пуле приложений .NetFramework 4 для олицетворения?
Есть что-то, что мы пропустили? любое предложение?