zoukankan      html  css  js  c++  java
  • asp.net限制用户登录错误次数

    很经常在登录一个网站的时候看到,如果你登录的时候输入的账号密码错误超过三次就被锁定,然后等一段时间才能继续登录,最最经常使用的就是银行系统啦~~

    该功能处理流程如下:

    string uid = Request.Form["uid"] ?? "";  //获取用户登录名
    string pwd = Request.Form["pwd"] ?? "";  //获取密码
    T_Users user = userNameBll.GetByUserNameBll(uid);//调用Bll,根据用户登录名查找用户
    if (user == null)
    {
    	showUidHtml = "用户名不存在!";
    }
    else
    {
    	if (user.ErrorTimes >= 3 && (DateTime.Now - user.LastLoginDate).TotalMinutes < 15)//如果该用户的错误次数>=3,而且最后的出错日期<15分钟,那么锁定该用户
    	{
    		showUidHtml = "用户已锁定";
    	}
    	else<span style="white-space:pre">	</span>//用户还有继续尝试登录的机会
    	{
    		if ((DateTime.Now - user.LastLoginDate).TotalMinutes >= 15)//如果用户的最后出错日期已经>=15分钟,那么重置出错次数为0(实现15分钟之后不管有没有出错都为0,可以尝试登录)
    		{
    			user.ErrorTimes = 0;
    		}
    		if (user.Password.Trim() == pwd)//如果密码正确,重置出错次数,并记录相关信息
    		{
    			user.LoginTimes++;
                            user.ErrorTimes = 0;
                            user.LastLoginDate = DateTime.Now;
    			userBll.Update(user);
    			Session["User"] = user;
    		}
    		else//如果密码错误,出错次数++,并记录最后出错的日期,更新到数据库
    		{
    			user.ErrorTimes++;
                            user.LastLoginDate = DateTime.Now;
                            if (userBll.Update(user))
                            {
    				showPwdHtml = "用户名或密码错误!";
                            }
    		}
    	}
    }
    完成~


  • 相关阅读:
    XTU1199:Number Game
    SSL连接建立过程分析(1)
    JavaScript高级编程II
    PreferenceFragment 使用 小结
    crm使用soap更改下拉框的文本值
    POJ2241——The Tower of Babylon
    四个好看的CSS样式表格
    无论你在哪里上班,请记住下面黄金法则!
    js的for in循环和java里的foreach循环的差别
    具体解释EBS接口开发之物料导入API
  • 原文地址:https://www.cnblogs.com/jchubby/p/4429758.html
Copyright © 2011-2022 走看看