下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第C#實現(xiàn)密碼驗證與輸錯密碼賬戶鎖定C#實現(xiàn)的CheckPassword,并根據(jù)輸錯密碼的次數(shù)分情況鎖定賬戶:如果輸入錯誤3次,登錄賬戶鎖定5分鐘并提示X點X分后重試登錄。如果5分鐘后再次輸入,累計輸入錯誤密碼累計達到5次。則賬戶會被永久鎖定,需聯(lián)系系統(tǒng)管理員進行把數(shù)據(jù)庫中的輸入錯誤的次數(shù)(errorcount)進行清零解鎖才能登陸。實現(xiàn)代碼如下:
publicclassUserInfo1
publicstringError_count{get;set;}
publicstringError_time{get;set;}
}
publicExecutionResultCheckAccountPwd(stringaccount,stringpassword)
ExecutionResultexecRes;
execRes=newExecutionResult();
string[]strs=account.Split(newstring[]{"\\"},StringSplitOptions.RemoveEmptyEntries);
if(strs.Length2)
execRes.Status=false;
execRes.Message="無效的賬號。";
else
UserInfo1info1=null;
execRes=CallEEPMethod.Execute(dbName,"sDEM2131","GetUserInfo",strs[1].ToLower());
if(execRes.StatusexecRes.Anything!=null)
info1=JsonConvert.DeserializeObjectUserInfo1(execRes.Anything.ToString());
if(info1!=null)
interrcount=Convert.ToInt32(info1.Error_count);
DateTimeerrtime=Convert.ToDateTime(info1.Error_time);
if(errcount!=5)
//interrorCount
DateTimedt0=DateTime.Now;
DateTimedt1=errtime.AddMinutes(5);
doubles=(dt1-dt0).TotalSeconds;
if(errcount==3s0)
execRes.Status=false;
execRes.Message="密碼連續(xù)輸入錯誤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="您沒有權(quán)限操作此系統(tǒng)!";
else
execRes.Status=true;
execRes.Anything=userInfo;
//errorcount清0
CallEEPMethod.Execute(dbName,"sDEM2131","UpdateUserLoginError",strs[1].ToLower()+","+"0"+","+DateTime.Now.ToString("yyyy/MM/ddHH:mm:ss"));
else
execRes.Status=false;
//次數(shù)+1
if(errcount+11)
execRes.Message="密碼連續(xù)輸入錯誤"+(errcount+1).ToString()+"次。密碼連續(xù)輸錯5次將鎖定!";
else
execRes.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="密碼連續(xù)輸入錯誤"+(errcount+1).ToString()+"次,請于"+dt0.AddMinutes(5).ToString("yyyy-MM-ddHH:mm:ss")+"之后重試,thanks!";
if(errcount+1==5)
execRes.Message="賬號密碼連續(xù)輸入錯誤5次,已鎖定!請聯(lián)系管理員解鎖,thanks!";
else
execRes.Status=false;
execRes.Message="賬號密碼連續(xù)輸入錯誤5次,已鎖定!請聯(lián)系管理員解鎖,thanks!";
else
execRes.Status=false;
execRes.Message="找不到此賬號,請重新輸入!";
else
execRes.Status=false;
execRes.Message="找不到此賬號,請重新輸入!";
returnexecRes;
}
根據(jù)登錄不同的網(wǎng)域進行Form驗證
privateboolCheckFromLDAP(stringntID,stringntPWD,stringdomain)//根據(jù)登錄的不同網(wǎng)域進行Form驗證
boolresult=false;
stringstrUser;
strUser=domain+"\\"+ntID;
if(domain.ToLower().Equals("gi"))
domain="";
elseif(domain.ToLower().Equals("cqc_cci"))
domain="";
elseif(domain.ToLower().Equals("vn"))
domain="01";
elseif(domain.ToLower().Equals("njp_cci"))
domain="";
else
domain="";
DirectoryEntryentry=newDirectoryEntry("LDAP://"+domain,strUser,ntPWD);
using(DirectorySearchersearcher=newDirectorySearcher(entry))
searcher.Filter=string.Format("((object",ntID);
SearchResultsr=searcher.FindOne();
using(SearchResultCollectionresults=searcher.FindAll())
if(results.Count0)
//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;
}
根據(jù)不同的用戶登錄進行權(quán)限管理
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(pla
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年慶鈴汽車股份有限公司商用車銷售業(yè)務(wù)經(jīng)理招聘備考題庫及參考答案詳解一套
- 2026年廈門高新人才開發(fā)有限公司招聘中心血站醫(yī)師類服務(wù)人員6人備考題庫參考答案詳解
- 2026年北京城建十六建筑工程有限責(zé)任公司人才招聘備考題庫含答案詳解
- 2026年勐海縣融媒體中心招聘編外人員備考題庫及完整答案詳解1套
- 2026年北京金隅混凝土有限公司招聘備考題庫及參考答案詳解
- 2026年巴州新華書店有限責(zé)任公司若羌縣分公司招聘備考題庫及一套參考答案詳解
- 2026年商丘柘城縣新城高級中學(xué)教師招聘備考題庫含答案詳解
- 2026年南安市海都醫(yī)院公開招聘編制內(nèi)衛(wèi)生類崗位9人備考題庫參考答案詳解
- 2026年廣西百色城市產(chǎn)業(yè)發(fā)展集團有限公司公開招聘員工備考題庫帶答案詳解
- 2026年宜賓國企招聘維操員大專可進六險二金備考題庫及1套參考答案詳解
- 甘蔗砍伐合同協(xié)議
- 2024-2025學(xué)年云南省昆明市盤龍區(qū)六年級上學(xué)期期末數(shù)學(xué)試卷(含答案)
- 制氫裝置操作技能訓(xùn)練題單選題100道及答案
- 捏合機安全操作規(guī)程(3篇)
- 西方經(jīng)濟學(xué)題庫1
- 2024-2025學(xué)年四川省成都市蓉城名校聯(lián)盟高一上學(xué)期期中語文試題及答案
- 修復(fù)胃黏膜的十大中藥
- 小學(xué)二年級上學(xué)期數(shù)學(xué)無紙化試題(共3套)
- 林場副場長述職報告
- 24秋國家開放大學(xué)《計算機系統(tǒng)與維護》實驗1-13參考答案
- 紙樣師傅工作總結(jié)
評論
0/150
提交評論