介绍
这篇文章给大家分享的是有关c#怎么实现检查密码和锁定输错密码锁定账户功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
c#实现的检查密码,并根据输错密码的次数分情况锁定账户:如果输入错误3次,登录账户锁定5分钟并提示X点分后重试登录。如果5分钟后再次输入,累计输入错误密码累计达到5次,则账户会被永久锁定,需联系系统管理员进行把数据库中的输入错误的次数(errorcount)进行清零解锁才能登陆。实现代码如下:
, public class UserInfo1 ,{ public 才能string Error_count {组,得到,,,} public 才能string Error_time {组,得到,,,} }大敌; ,public ExecutionResult  CheckAccountPwd (string 帐户,,string 密码) {才能 ,,ExecutionResult execRes; ,,execRes =, new ExecutionResult (); ,,string [], strs =, account.Split (new string [], {,“\ \”,},, StringSplitOptions.RemoveEmptyEntries); ,,if (strs.Length & lt;, 2) ,,{ ,,,execRes.Status =,假; ,,,execRes.Message =,“无效的账号!”; ,,} 其他的,, ,,{ ,,,UserInfo1 info1 =,空; ,,,execRes =, CallEEPMethod.Execute (dbName,,“sDEM2131",,“GetUserInfo",, str [1] .ToLower ()); ,,,if (execRes.Status ,,, execRes.Anything !=, null) ,,,{ ,,,,info1 =, JsonConvert.DeserializeObject(execRes.Anything.ToString ()); ,,,,if (info1 !=, null) ,,,,{ ,,,,,int errcount =, Convert.ToInt32 (info1.Error_count); ,,,,,DateTime errtime =, Convert.ToDateTime (info1.Error_time); ,,,,,if (errcount !=, 5) ,,,,,{ ,,,,,,//int errorCount ,,,,,,DateTime dt0 =, DateTime.Now; ,,,,,,DateTime dt1 =, errtime.AddMinutes (5); ,,,,,,double s =, (dt1 作用;dt0) .TotalSeconds; ,,,,,,if (errcount ==, 3,,,, s 祝辞,0) ,,,,,,{ ,,,,,,,execRes.Status =,假; ,,,,,,,execRes.Message =,“密码连续输入错误3次,请于,,,+,errtime.AddMinutes (+ 5) .ToString (“yyyy-MM-dd  HH: mm: ss"), +,“,之后重试,谢谢!“; ,,,,,,} ,,,,,, ,,,,,,{ ,,,,,,,if (CheckFromLDAP (str[1],,密码,str [0])) ,,,,,,,{ ,,,,,,,,CPU.Models.UserInfo userInfo =, CheckUser (str [1]); ,,,,,,,,if (userInfo ==, null) ,,,,,,,,{ ,,,,,,,,,execRes.Status =,假; ,,,,,,,,,execRes.Message =,“您没有权限操作此系统!“; ,,,,,,,,} ,,,,,,,, ,,,,,,,,{ ,,,,,,,,,execRes.Status =,真的; ,,,,,,,,,execRes.Anything =,用户信息; ,,,,,,,,,//error count 清0 ,,,,,,,,,CallEEPMethod.Execute (dbName,,“sDEM2131",,“UpdateUserLoginError",, str [1] .ToLower (), +,“,“+”0“, +,,,,, +, DateTime.Now.ToString (“yyyy/MM/dd  HH: MM: ss")); ,,,,,,,,, ,,,,,,,,} ,,,,,,,} ,,,,,,, ,,,,,,,{ ,,,,,,,,execRes.Status =,假; ,,,,,,,,//,次数+ 1 ,,,,,,,,if (errcount +, 1,祝辞,1) null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null c#怎么实现检查密码和锁定输错密码锁定账户功能