Example #1
0
        protected void btnExit_Click(object sender, EventArgs e)
        {
            UserData userData = UserData.GetUserData();

            userData.Logout();
            UserDataExt.ForgetUserLoggedOn(Context);

            lblLoginTitle.Visible    = true;
            lblLoggedOnTitle.Visible = false;
            txtLogin.Text            = "";
            txtLogin.Enabled         = txtPassword.Enabled = true;
            chkRememberUser.Visible  = AppData.WebSettings.RemEnabled;
            btnExit.Visible          = false;
        }
Example #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            // получение данных пользователя
            UserData userData = UserData.GetUserData();

            // установка активного элемента формы и кнопки по умолчанию
            Form.DefaultFocus  = txtLogin.ClientID;
            Form.DefaultButton = btnEnter.UniqueID;

            if (IsPostBack)
            {
                Title = (string)ViewState["Title"];
            }
            else
            {
                // проверка входа в систему
                userData.CheckLoggedOn(Context, false);

                // перевод веб-страницы
                Localization.TranslatePage(this, "Scada.Web.WFrmLogin");
                ViewState["Title"] = Title;

                if (userData.LoggedOn)
                {
                    // обработка повторного входа в систему
                    lblLoginTitle.Visible    = false;
                    lblLoggedOnTitle.Visible = true;
                    txtLogin.Text            = userData.UserLogin;
                    txtLogin.Enabled         = txtPassword.Enabled = false;
                    btnExit.Visible          = true;
                }
                else
                {
                    // извлечение из cookie адреса имени пользователя
                    txtLogin.Text = UserDataExt.RestoreUserLogin(Context);
                }

                // настройка элементов управления
                List <ViewSettings.ViewSet> viewSetList = userData.ViewSettings.ViewSetList;
                foreach (ViewSettings.ViewSet viewSet in viewSetList)
                {
                    ddlViewSet.Items.Add(viewSet.Name);
                }

                int viewSetCnt = viewSetList.Count;
                ddlViewSet.Enabled      = viewSetCnt > 1;
                btnEnter.Enabled        = viewSetCnt > 0;
                chkRememberUser.Visible = AppData.WebSettings.RemEnabled && !btnExit.Visible;
                chkRememberUser.Enabled = btnEnter.Enabled;

                // получение имени выбранного представления из параметров запроса
                string viewSetName     = Request["viewSetName"];
                bool   viewSetSelected = !string.IsNullOrEmpty(viewSetName);

                if (viewSetCnt == 1)
                {
                    ddlViewSet.SelectedIndex = 0;
                }
                else if (viewSetCnt > 1)
                {
                    // установка выбранного набора представлений в соответствии с параметрами запроса или cookie
                    int selInd = 0;

                    if (string.IsNullOrEmpty(viewSetName))
                    {
                        HttpCookie cookie = Request.Cookies["ScadaViewSet"];
                        if (cookie != null)
                        {
                            viewSetName = Server.UrlDecode(cookie.Value);
                        }
                    }

                    if (!string.IsNullOrEmpty(viewSetName))
                    {
                        viewSetName = viewSetName.ToLower();

                        for (int i = 0; i < viewSetCnt; i++)
                        {
                            if (viewSetList[i].Name.ToLower() == viewSetName)
                            {
                                selInd = i;
                                break;
                            }
                        }
                    }

                    ddlViewSet.SelectedIndex = selInd;
                }

                // переход на страницу данных, если пользователь уже вошёл в систему и
                // набор представлений задан в параметрах запроса
                if (userData.LoggedOn && viewSetSelected && viewSetName == ddlViewSet.SelectedValue.ToLower())
                {
                    btnEnter_Click(null, null);
                }
            }
        }