Проблема:
После успешной авторизации данные сессии сбрасываются.
Подробнее:
При успешном логине пользователя необходимо перенаправить на страницу по умолчанию. Перенаправление делается с помощью Response.Redirect("page.aspx").
Причина:
ASP.NET после посылки заголовка 302 (редирект) вызывает Response.End(), чем заканчивает посылку ответа. Вследствие чего не передаются данные сессии (SessionID).
Решение:
Необходимо либо использовать метод FormsAuthentication.RedirectFromLoginPage(...) или использовать перегруженную версию Response.Redirect(string url, bool endResponse), указав в последнем параметре false.
Найти решение мне помог
google и
BLeroy.
P.S. Насколько я понимаю, проблема актуальна для ASP, ASP.NET 1.1 и ASP.NET 2.0.