protected void Page_Load(object sender, EventArgs e) { appData = AppData.GetAppData(); userData = UserData.GetUserData(); if (IsPostBack) { Title = (string)ViewState["Title"]; } else { // перевод веб-страницы Translator.TranslatePage(this, "Scada.Web.WFrmLogin"); ViewState["Title"] = Title; Localization.Dict dict; Localization.Dictionaries.TryGetValue("Scada.Web.WFrmLogin.Js", out dict); phrases = WebUtils.DictionaryToJs(dict); // вывод сообщения, заданного в параметрах запроса string alert = Request.QueryString["alert"]; bool alertIsEmpty = string.IsNullOrEmpty(alert); if (!alertIsEmpty) { AddShowAlertScript(alert); } // переход на стартовую страницу, если вход выполнен if (alertIsEmpty) { if (userData.LoggedOn) { GoToStartPage(); } else if (userData.WebSettings.RemEnabled) { // обработка сохранённого входа в систему string username; if (appData.RememberMe.ValidateUser(Context, out username, out alert) && userData.Login(username, out alert)) { GoToStartPage(); } else if (alert != "") { AddShowAlertScript(alert); } } } // настройка элементов управления pnlRememberMe.Visible = userData.WebSettings.RemEnabled; txtUsername.Text = userData.LoggedOn ? userData.UserProps.UserName : appData.RememberMe.RestoreUsername(Context); // из cookie // добавление скрипта проверки браузера AddCheckBrowserSupportScript(); } }
public string Login(string username, string password) { try { UserData userData = UserData.GetUserData(); string errMsg; bool loggedOn = userData.Login(username, password, out errMsg); return(JsSerializer.Serialize(new DataTransferObject(loggedOn))); } catch (Exception ex) { AppData.Log.WriteException(ex, Localization.UseRussian ? "Ошибка при выполнении входа пользователя в систему" : "Error performing user login"); return(GetErrorDtoJs(ex)); } }
protected void Page_Load(object sender, EventArgs e) { appData = AppData.GetAppData(); userData = UserData.GetUserData(); if (IsPostBack) { Title = (string)ViewState["Title"]; } else { // перевод веб-страницы Translator.TranslatePage(this, "Scada.Web.WFrmLogin"); ViewState["Title"] = Title; // вывод сообщения, заданного в параметрах запроса string alert = Request.QueryString["alert"]; bool alertIsEmpty = string.IsNullOrEmpty(alert); if (!alertIsEmpty) { AddShowAlertScript(alert); } // обработка сохранённого входа в систему if (alertIsEmpty && !userData.LoggedOn && userData.WebSettings.RemEnabled) { string username; if (appData.RememberMe.ValidateUser(Context, out username, out alert) && userData.Login(username, out alert)) { GoToStartPage(); } else if (alert != "") { AddShowAlertScript(alert); } } // настройка элементов управления pnlRememberMe.Visible = userData.WebSettings.RemEnabled; txtUsername.Text = userData.LoggedOn ? userData.UserName : appData.RememberMe.RestoreUsername(Context); // из cookie } }
protected void btnEnter_Click(object sender, System.EventArgs e) { UserData userData = UserData.GetUserData(); bool alreadyLoggedOn = userData.LoggedOn; string errMsg = ""; if (alreadyLoggedOn || userData.Login(txtLogin.Text, txtPassword.Text, out errMsg)) { // проверка прав пользователя на выбранный набор представлений int viewSetIndex = ddlViewSet.SelectedIndex; string viewSetName = userData.ViewSettings.ViewSetList[viewSetIndex].Name; MainData.Right viewSetRight = userData.GetViewSetRight(viewSetIndex); if (viewSetRight.ViewRight) { // сохранение в cookie информации о входе пользователя if (!alreadyLoggedOn) { userData.RememberUser(Context, !chkRememberUser.Checked); } // сохранение в cookie выбранного набора представлений HttpCookie cookie = new HttpCookie("ScadaViewSet"); cookie.Value = Server.UrlEncode(viewSetName); cookie.Expires = DateTime.Now.Add(ScadaUtils.CookieExpiration); Response.SetCookie(cookie); // переход на страницу данных Response.Redirect("~/Main.aspx?viewSet=" + viewSetIndex, false); } else { errMsg = WebPhrases.NoViewSetRights; } } if (!string.IsNullOrEmpty(errMsg)) { AddShowErrorScript(string.Format(WebPhrases.UnableLogin, errMsg)); } }
protected void btnLogin_Click(object sender, EventArgs e) { string errMsg; if (userData.Login(txtUsername.Text, txtPassword.Text, out errMsg)) { // сохранение информации о входе пользователя if (chkRememberMe.Checked) { appData.RememberMe.RememberUser(userData.UserName, Context); } else { appData.RememberMe.RememberUsername(userData.UserName, Context); } // переход на стартовую страницу GoToStartPage(); } else { AddShowAlertScript(errMsg); } }
/// <summary> /// Проверить вход пользователя в систему, в случае его отсутствия перейти на страницу входа в систему /// </summary> public static void CheckLoggedOn(this UserData userData, HttpContext context, bool redirectToLogin = true) { if (!userData.LoggedOn) { // проверка входа пользователя, сохранённого в cookie if (AppData.WebSettings.RemEnabled) { string login; bool loggedOn; RestoreUser(context, out login, out loggedOn); if (loggedOn && !userData.Login(login)) { ForgetUserLoggedOn(context); } } // переход на страницу входа в систему if (!userData.LoggedOn && redirectToLogin) { context.Response.Redirect("~/Login.aspx"); } } }