首页 > 学院 > 开发设计 > 正文

错误次数超过4次锁定2分钟

2019-11-06 08:25:13
字体:
来源:转载
供稿:网友
 PRotected void btnLogin_Click(object sender, EventArgs e)        {            string name = txtName.Text.Trim();            string pwd = txtPwd.Text.Trim();            LoginBLL loginBll = new LoginBLL();            LoginState state = loginBll.CheckLoginName(name, pwd, out GlobalHelp.Id);            if (state == LoginState.UserError)            {                Response.Write("<script type='text/javascript'>alert('用戶名錯誤!')</script>");            }            else            {                //ErrorStateModel errorModel = loginBll.CheckErrorState(GlobalHelp.Id);                //if (errorModel == null)                //{                //    Response.Write("<script type='text/Javascript'>alert('傳入的用戶名ID錯誤!')</script>");                //}                //else                {                    if (loginBll.CheckErrorState(GlobalHelp.Id).LockState == "Y")       //如果鎖定狀態為未鎖定(Y未鎖定/N已鎖定)                    {                        if (state == LoginState.PwdError)   //如果密碼錯誤                        {                            if (loginBll.CheckErrorState(GlobalHelp.Id).errorSum == 4)          //數據庫中記錄的錯誤次數竽4次時                            {                                loginBll.SetErrorLockState(GlobalHelp.Id, "N");  //鎖定狀態為N                                loginBll.SetErrorTime(GlobalHelp.Id);           //設置鎖定當前時間                                Response.Write("<script type='text/javascript'>alert('密碼連續輸錯4次,120秒后再試!')</script>");                                return;                            }                            loginBll.SetErrorSum(GlobalHelp.Id);    //增加錯誤次數                            Response.Write("<script type='text/javascript'>alert('密碼錯誤!')</script>");                        }                        else if (state == LoginState.OK)  //如果密碼正確                        {                            if (loginBll.CheckErrorState(GlobalHelp.Id).errorSum == 4)   //數據庫中記錄的錯誤次數竽4次時                            {                                Response.Write("<script type='text/javascript'>alert('密碼連續輸錯4次,120秒后再試!')</script>");                                return;                            }                            loginBll.ErrorClear(GlobalHelp.Id);     //次數清零                            loginBll.SetErrorLockState(GlobalHelp.Id, "Y");  //鎖定狀態為Y                            Response.Write("<script type='text/javascript'>alert('登錄成功!')</script>");                        }                                            }                    else  ////否則鎖定狀態為已經鎖定(Y未鎖定/N已鎖定)                    {                        if (loginBll.CheckErrorState(GlobalHelp.Id).span > 120)     //當前實時時間與數據庫存儲的最后一次時間秒數差大於2分鐘時                        {                            loginBll.ErrorClear(GlobalHelp.Id);     //次數清零                            loginBll.SetErrorLockState(GlobalHelp.Id, "Y");  //鎖定狀態為Y                        }                        else                        {                            Response.Write("<script type='text/javascript'>alert('密碼連續輸錯4次,120秒后再試!')</script>");                            return;                        }                        if (state == LoginState.PwdError)   //如果密碼錯誤                        {                                                      loginBll.SetErrorSum(GlobalHelp.Id);    //錯誤次數加1                            Response.Write("<script type='text/javascript'>alert('密碼錯誤!')</script>");                        }                        else if (state == LoginState.OK)        //如果密碼正確                        {                            Response.Write("<script type='text/javascript'>alert('登錄成功!')</script>");                        }                    }                }            }

        }


上一篇:第一天

下一篇:JVM内存管理

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表