protected void BtnLogin_Click(object sender, DirectEventArgs e)
        {
            string loginID   = this.txtUserName.Text.Trim();
            string password  = this.txtPassWord.Text.Trim();
            string checkCode = this.txtCheckCode.Text.Trim();

            if (checkCode != CheckCode.GetCheckCode())
            {
                ResourceManager.AjaxSuccess      = false;
                ResourceManager.AjaxErrorMessage = "验证码错误!";
                return;
            }

            SystemUserWrapper userWrapper = SystemUserWrapper.FindByLoginID(loginID);

            if (userWrapper == null)
            {
                ResourceManager.AjaxSuccess      = false;
                ResourceManager.AjaxErrorMessage = GetLocalResourceObject("msgLoginFailedUserPasswordError").ToString();
                SystemLogWrapper.LogUserLoginFailed(loginID, HttpUtil.GetIP(this.Request), GetLocalResourceObject("msgLoginFailedUserPasswordError").ToString(), System.DateTime.Now);
                return;
            }

            if (userWrapper.IsLockedOut)
            {
                if (SystemUserWrapper.CheckUserIfDeveloperAdminOrSystemAdmin(loginID))
                {
                    SystemUserWrapper.UnlockUser(loginID);
                }
                else
                {
                    ResourceManager.AjaxSuccess      = false;
                    ResourceManager.AjaxErrorMessage = GetLocalResourceObject("msgLoginFailedUserLockError").ToString();
                    SystemLogWrapper.LogUserLoginFailed(loginID, HttpUtil.GetIP(this.Request), GetLocalResourceObject("msgLoginFailedUserPasswordError").ToString(), System.DateTime.Now);
                    return;
                }
            }


            if (SystemUserWrapper.FindByLoginID(loginID) == null)
            {
                ResourceManager.AjaxSuccess      = false;
                ResourceManager.AjaxErrorMessage = GetLocalResourceObject("msgLoginFailedUserPasswordError").ToString();
                SystemLogWrapper.LogUserLoginFailed(loginID, HttpUtil.GetIP(this.Request), GetLocalResourceObject("msgLoginFailedUserPasswordError").ToString(), System.DateTime.Now);
                return;
            }

            LoginUser(loginID);
        }
        protected void BtnLogin_Click(object sender, DirectEventArgs e)
        {
            string loginID  = this.txtUserName.Text.Trim();
            string password = this.txtPassWord.Text.Trim();

            SystemUserWrapper userWrapper = SystemUserWrapper.GetUserByLoginID(loginID);

            if (userWrapper == null)
            {
                ResourceManager.AjaxSuccess      = false;
                ResourceManager.AjaxErrorMessage = "Login failed , User name or password error!";
                return;
            }

            if (userWrapper.IsLockedOut)
            {
                if (SystemUserWrapper.CheckUserIfDeveloperAdminOrSystemAdmin(loginID))
                {
                    SystemUserWrapper.UnlockUser(loginID);
                }
                else
                {
                    ResourceManager.AjaxSuccess      = false;
                    ResourceManager.AjaxErrorMessage = "Login failed! The user is locked, please contact administrator.";
                    return;
                }
            }


            if (!Membership.ValidateUser(loginID, password))
            {
                ResourceManager.AjaxSuccess      = false;
                ResourceManager.AjaxErrorMessage = "Login failed , User name or password error!";
                return;
            }

            LoginUser(loginID);
        }