C#实现的Check Password和确定输错密码确定账户

IT技术2年前 (2022)发布 投稿用户
0

C#完成的CheckPassword,并依据输错暗码的次数分状况确定账户:如果输入过错3次,登录账户确定5分钟并提示X点X分后重试登录。如果5分钟后再次输入,累计输入过错暗码累计达到5次。则账户会被永久确定,需联络体系办理员进行把数据库中的输入过错的次数(errorcount)进行清零解锁才能登陆。完成代码如下:

publicclassUserInfo1
{publicstringError_count{get;set;}publicstringError_time{get;set;}
}
publicExecutionResultCheckAccountPwd(stringaccount,stringpassword)
{
ExecutionResultexecRes;
execRes=newExecutionResult();string[]strs=account.Split(newstring[]{“\”},StringSplitOptions.RemoveEmptyEntries);if(strs.Length<2)
{
execRes.Status=false;
execRes.Message=”无效的账号。”;
}else{
UserInfo1info1=null;
execRes=CallEEPMethod.Execute(dbName,”sDEM2131″,”GetUserInfo”,strs[1].ToLower());if(execRes.Status&&execRes.Anything!=null)
{
info1=JsonConvert.DeserializeObject(execRes.Anything.ToString());if(info1!=null)
{interrcount=Convert.ToInt32(info1.Error_count);
DateTimeerrtime=Convert.ToDateTime(info1.Error_time);if(errcount!=5)
{//interrorCountDateTimedt0=DateTime.Now;
DateTimedt1=errtime.AddMinutes(5);doubles=(dt1-dt0).TotalSeconds;if(errcount==3&&s>0)
{
execRes.Status=false;
execRes.Message=”暗码接连输入过错3次,请于”+errtime.AddMinutes(+5).ToString(“yyyy-MM-ddHH:mm:ss”)+”之后重试,thanks!”;
}else{if(CheckFromLDAP(strs[1],password,strs[0]))
{
CPU.Models.UserInfouserInfo=CheckUser(strs[1]);if(userInfo==null)
{
execRes.Status=false;
execRes.Message=”您没有权限操作此体系!”;
}else{
execRes.Status=true;
execRes.Anything=userInfo;//errorcount清0CallEEPMethod.Execute(dbName,”sDEM2131″,”UpdateUserLoginError”,strs[1].ToLower()+”,”+”0″+”,”+DateTime.Now.ToString(“yyyy/MM/ddHH:mm:ss”));
}
}else{
execRes.Status=false;//次数+1if(errcount+1>1)
execRes.Message=”暗码接连输入过错”+(errcount+1).ToString()+”次。暗码接连输错5次将确定!”;elseexecRes.Message=”暗码输入过错!”;
dt0=DateTime.Now;
CallEEPMethod.Execute(dbName,”sDEM2131″,”UpdateUserLoginError”,strs[1].ToLower()+”,”+(errcount+1).ToString()+”,”+DateTime.Now.ToString(“yyyy/MM/ddHH:mm:ss”));if(errcount+1==3)
execRes.Message=”暗码接连输入过错”+(errcount+1).ToString()+”次,请于”+dt0.AddMinutes(5).ToString(“yyyy-MM-ddHH:mm:ss”)+”之后重试,thanks!”;if(errcount+1==5)
execRes.Message=”账号暗码接连输入过错5次,已确定!请联络办理员解锁,thanks!”;
}
}
}else{
execRes.Status=false;
execRes.Message=”账号暗码接连输入过错5次,已确定!请联络办理员解锁,thanks!”;
}
}else{
execRes.Status=false;
execRes.Message=”找不到此账号,请重新输入!”;
}
}else{
execRes.Status=false;
execRes.Message=”找不到此账号,请重新输入!”;
}
}returnexecRes;
}
依据登录不同的网域进行Form验证
privateboolCheckFromLDAP(stringntID,stringntPWD,stringdomain)//依据登录的不同网域进行Form验证{boolresult=false;stringstrUser;try{
strUser=domain+”\”+ntID;if(domain.ToLower().Equals(“gi”))
domain=”gi.compal.com”;elseif(domain.ToLower().Equals(“cqc_cci”))
domain=”10.140.1.1″;elseif(domain.ToLower().Equals(“vn”))
domain=”10.144.2.101″;elseif(domain.ToLower().Equals(“njp_cci”))
domain=”10.128.50.1″;elsedomain=”compal.com”;
DirectoryEntryentry=newDirectoryEntry(“LDAP://”+domain,strUser,ntPWD);using(DirectorySearchersearcher=newDirectorySearcher(entry))
{
searcher.Filter=string.Format(“(&(objectClass=user)(sAMAccountName={0}))”,ntID);
SearchResultsr=searcher.FindOne();using(SearchResultCollectionresults=searcher.FindAll())
{if(results.Count>0)
{//if(results[0].Properties.Contains(“employeeID”))//empID=results[0].Properties[“employeeID”][0].ToString();//else//empID=results[0].Properties[“extensionattribute3”][0].ToString();result=true;
}
}
}
}catch(Exceptionex)
{//LogHelper.Error(ex.Message);}returnresult;
}
依据不同的用户登录进行权限办理
publicboolCheckPermission(stringcontrollerName,stringactionName,stringplant,stringuserID)
{boolresult=false;//if(actionName.StartsWith(“_”))//actionName=actionName.Substring(1);UserInfouserInfo=CheckUser(userID);if(userInfo!=null)
{if(controllerName==”Home”)
result=true;elseif(userInfo.Permissions.Contains(controllerName))
{if(!string.IsNullOrEmpty(plant))
{if(userInfo.PlantCode.ToLower()==plant.ToLower()||userInfo.PlantCode==”ALL”)
result=true;
}elseresult=true;
}
}returnresult;
}

© 版权声明
好牛新坐标 广告
版权声明:
1、IT大王遵守相关法律法规,由于本站资源全部来源于网络程序/投稿,故资源量太大无法一一准确核实资源侵权的真实性;
2、出于传递信息之目的,故IT大王可能会误刊发损害或影响您的合法权益,请您积极与我们联系处理(所有内容不代表本站观点与立场);
3、因时间、精力有限,我们无法一一核实每一条消息的真实性,但我们会在发布之前尽最大努力来核实这些信息;
4、无论出于何种目的要求本站删除内容,您均需要提供根据国家版权局发布的示范格式
《要求删除或断开链接侵权网络内容的通知》:https://itdw.cn/ziliao/sfgs.pdf,
国家知识产权局《要求删除或断开链接侵权网络内容的通知》填写说明: http://www.ncac.gov.cn/chinacopyright/contents/12227/342400.shtml
未按照国家知识产权局格式通知一律不予处理;请按照此通知格式填写发至本站的邮箱 wl6@163.com

相关文章