Я работаю в консалтинговой мастерской, где мы работаем на нескольких сайтах каждый день, большинство из которых работают на ASP.NET MVC 3. Мы запускаем эти сайты локально во время разработки с использованием IIS Express, поэтому мы видим что-то вроде "http://localhost:1234" за каждый сайт.
Мы используем проверку подлинности с помощью форм на всех этих сайтах, и мы видим что-то странное при переключении с одного сайта на другой. Когда я вошел на сайт A и начал просматривать сайт B, свойство HttpContext.Current.User при отладке сайта B имеет значение, которое мы установили для сайта A.
Это, кажется, происходит только на сайтах MVC. Когда я запускаю сайт WebForms на том же компьютере в IIS Express, HttpContext.Current.User соответствует объекту GenericPrincipal. Другими словами, все сайты Web Forms кажутся изолированными с точки зрения аутентификации. Чем отличается MVC, который заставляет эти сайты получать информацию об аутентификации друг друга?