Быстрый проект, с которым меня попросили сбить, не нуждается в сумасшедшей безопасности, поэтому я внедрил простой экран входа в систему, который проверяет имя пользователя & PW против дБ.Сессионная переменная теряется после публикации (работает на dev-машине)
User u = new User();
if (u.AuthenticateUser(txtUsername.Text, txtPassword.Text))
Session.Add("UserSeshAuthenticated", true);
Response.Redirect("Dashboard.aspx");
Все остальные страницы разделяют MasterPage и в Page_Load
мероприятия:
if ((Session["UserSeshAuthenticated"] == null) || ((bool)Session["UserSeshAuthenticated"] == false))
{
fw.Write("UserSeshAuthenticated has been lost or something");
string path = HttpContext.Current.Request.Url.AbsolutePath;
Response.Redirect("Login.aspx?retpath=" + path);
}
else
{
lblLoggedInUsername.Text = Session["UserSeshAuthenticated"].ToString();
}
Это все работает очень хорошо на моей машине развития, но когда я опубликовал его на мой сервер, на время загрузки моего MasterPage, оно потеряло переменные сеанса.
Может ли кто-нибудь помочь? ... Я должен жить этим днем & Я не думал, что столкнулся с этой проблемой !!!
Любая помощь приветствуется. Большое спасибо.
На сервере это приложение работает в корне сервера? Если он запущен в папке, это папка, настроенная как приложение/пакет, в IIS? – tgolisch
Приложение работает как приложение, но не в корне сервера ... Он работает под приложением внутри другого приложения внутри DefaultWebSite. IIS> Сайты> Веб-сайт по умолчанию> App1> MyProblemApp – wotney
Это не в веб-ферме или балансировочной системе, не так ли? – tgolisch