From 6a50daac547ebaf0c2503803626e12fbc63c0bb6 Mon Sep 17 00:00:00 2001 From: yanjinhui <3306209981@qq.com> Date: 星期四, 28 八月 2025 10:13:45 +0800 Subject: [PATCH] 修改密码的复杂度 --- 项目代码/后端/后台管理/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs | 183 +++++++++++++++++++++++++++++++++++---------- 1 files changed, 142 insertions(+), 41 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/\345\220\216\345\217\260\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/\345\220\216\345\217\260\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs" index 11f6c79..65b4442 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/\345\220\216\345\217\260\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/\345\220\216\345\217\260\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs" @@ -29,8 +29,11 @@ private readonly IRepository<Dt_Maintenance> _MainServer; private readonly IRepository<Sys_Role> _RoleServer; private readonly IRepository<Dt_AuthorizationRecord> _AuthorizatRecServer; - public Sys_UserService(IRepository<Dt_AuthorizationRecord> AuthorizatRecServer ,IRepository<Sys_Role> RoleServer,IRepository<Dt_Loginhsy> LoginhsyServer,IRepository<Dt_FaceRecognition> faceServer, IRepository<Sys_User> repository, IUnitOfWorkManage unitOfWorkManage, ICacheService cacheService, ISys_MenuService menuService, IRepository<Dt_Maintenance> MainServer) : base(repository) + private readonly IRepository<Sys_UserFace> _userFace; + + public Sys_UserService(IRepository<Sys_UserFace> userFace,IRepository<Dt_AuthorizationRecord> AuthorizatRecServer ,IRepository<Sys_Role> RoleServer,IRepository<Dt_Loginhsy> LoginhsyServer,IRepository<Dt_FaceRecognition> faceServer, IRepository<Sys_User> repository, IUnitOfWorkManage unitOfWorkManage, ICacheService cacheService, ISys_MenuService menuService, IRepository<Dt_Maintenance> MainServer) : base(repository) { + _userFace= userFace; _faceServer = faceServer; _LoginhsyServer = LoginhsyServer; _unitOfWorkManage = unitOfWorkManage; @@ -303,7 +306,7 @@ public override WebResponseContent AddData(SaveModel saveModel) { - string pwd = "123456"; + string pwd = "Gns1234+"; string uesrName = saveModel.MainData[nameof(Sys_User.UserName).FirstLetterToLower()].ToString(); saveModel.MainData[nameof(Sys_User.UserPwd).FirstLetterToLower()] = pwd.EncryptDES(AppSecret.User); @@ -357,6 +360,20 @@ if (string.IsNullOrEmpty(newPwd)) return WebResponseContent.Instance.Error("鏂板瘑鐮佷笉鑳戒负绌�"); if (newPwd.Length < 6) return WebResponseContent.Instance.Error("瀵嗙爜涓嶈兘灏戜簬6浣�"); + // 鉁� 瀵嗙爜澶嶆潅搴︽牎楠岋細蹇呴』鍖呭惈澶у皬鍐欏瓧姣嶃�佹暟瀛楀拰鐗规畩绗﹀彿 + if (!global::System.Text.RegularExpressions.Regex.IsMatch(newPwd, @"[a-z]")) + return content.Error("鏂板瘑鐮佸繀椤诲寘鍚皬鍐欏瓧姣�"); + + if (!global::System.Text.RegularExpressions.Regex.IsMatch(newPwd, @"[A-Z]")) + return content.Error("鏂板瘑鐮佸繀椤诲寘鍚ぇ鍐欏瓧姣�"); + + if (!global::System.Text.RegularExpressions.Regex.IsMatch(newPwd, @"\d")) + return content.Error("鏂板瘑鐮佸繀椤诲寘鍚暟瀛�"); + + // 鐗规畩绗﹀彿锛堟爣鐐癸級锛屾瘮濡� . ! @ # $ % ^ & * ( ) _ - + = ... + if (!global::System.Text.RegularExpressions.Regex.IsMatch(newPwd, @"[!@#$%^&*(),.?""':{}|<>_\-+=\\/\[\]~`]")) + return content.Error("鏂板瘑鐮佸繀椤诲寘鍚嚦灏戜竴涓壒娈婄鍙�"); + int userId = App.User.UserId; string userCurrentPwd = BaseDal.QueryFirst(x => x.User_Id == userId, s => s.UserPwd); @@ -403,22 +420,45 @@ try { - if (string.IsNullOrEmpty(oldPwd)) return content.Error("鏃у瘑鐮佷笉鑳戒负绌�"); - if (string.IsNullOrEmpty(newPwd)) return content.Error("鏂板瘑鐮佷笉鑳戒负绌�"); - if (newPwd.Length < 6) return content.Error("瀵嗙爜涓嶈兘灏戜簬6浣�"); + if (string.IsNullOrEmpty(oldPwd)) + return content.Error("鏃у瘑鐮佷笉鑳戒负绌�"); + + if (string.IsNullOrEmpty(newPwd)) + return content.Error("鏂板瘑鐮佷笉鑳戒负绌�"); + + if (newPwd.Length < 6) + return content.Error("瀵嗙爜涓嶈兘灏戜簬6浣�"); + + // 鉁� 瀵嗙爜澶嶆潅搴︽牎楠岋細蹇呴』鍖呭惈澶у皬鍐欏瓧姣嶃�佹暟瀛楀拰鐗规畩绗﹀彿 + if (!global::System.Text.RegularExpressions.Regex.IsMatch(newPwd, @"[a-z]")) + return content.Error("鏂板瘑鐮佸繀椤诲寘鍚皬鍐欏瓧姣�"); + + if (!global::System.Text.RegularExpressions.Regex.IsMatch(newPwd, @"[A-Z]")) + return content.Error("鏂板瘑鐮佸繀椤诲寘鍚ぇ鍐欏瓧姣�"); + + if (!global::System.Text.RegularExpressions.Regex.IsMatch(newPwd, @"\d")) + return content.Error("鏂板瘑鐮佸繀椤诲寘鍚暟瀛�"); + + // 鐗规畩绗﹀彿锛堟爣鐐癸級锛屾瘮濡� . ! @ # $ % ^ & * ( ) _ - + = ... + if (!global::System.Text.RegularExpressions.Regex.IsMatch(newPwd, @"[^a-zA-Z0-9]")) + return content.Error("鏂板瘑鐮佸繀椤诲寘鍚嚦灏戜竴涓壒娈婄鍙�"); + // 鑾峰彇鐢ㄦ埛褰撳墠瀵嗙爜 string userCurrentPwd = BaseDal.QueryFirst(x => x.User_Id == id, s => s.UserPwd) ?? ""; - if (string.IsNullOrEmpty(userCurrentPwd)) return content.Error("鐢ㄦ埛涓嶅瓨鍦ㄦ垨瀵嗙爜鏈缃�"); + if (string.IsNullOrEmpty(userCurrentPwd)) + return content.Error("鐢ㄦ埛涓嶅瓨鍦ㄦ垨瀵嗙爜鏈缃�"); - //// 杩涜瀵嗙爜鍔犲瘑瀵规瘮 + //// 濡傛灉闇�瑕侀獙璇佹棫瀵嗙爜锛屾斁寮�杩欓噷 //string _oldPwd = oldPwd.EncryptDES(AppSecret.User); - //if (_oldPwd != userCurrentPwd) return content.Error("鏃у瘑鐮佷笉姝g‘"); + //if (_oldPwd != userCurrentPwd) + // return content.Error("鏃у瘑鐮佷笉姝g‘"); // 鐢熸垚鏂板瘑鐮佸姞瀵嗗�� string _newPwd = newPwd.EncryptDES(AppSecret.User); - if (userCurrentPwd == _newPwd) return content.Error("鏂板瘑鐮佷笉鑳戒笌鏃у瘑鐮佺浉鍚�"); + if (userCurrentPwd == _newPwd) + return content.Error("鏂板瘑鐮佷笉鑳戒笌鏃у瘑鐮佺浉鍚�"); // 鏇存柊瀵嗙爜 bool isUpdated = BaseDal.UpdateData(new Sys_User @@ -434,7 +474,7 @@ if (!isUpdated) { - return content.Error("瀵嗙爜淇敼澶辫触锛岃绋嶅悗閲嶈瘯"); + return content.Error("瀵嗙爜淇敼澶辫触锛屽瘑鐮佸繀椤诲寘鎷瓧姣嶄互鍙婄壒娈婂瓧绗�"); } return content.OK("瀵嗙爜淇敼鎴愬姛", id); @@ -445,6 +485,7 @@ return content.Error($"鏈嶅姟鍣ㄩ敊璇�: {ex.Message}"); } } + public WebResponseContent Upuserbase(UserDTO userDTO) @@ -561,7 +602,7 @@ RoleName = addUserDTO.rolename, Enable = addUserDTO.enable, Unit = addUserDTO.userunit, - UserPwd = "j79rYYvCz4vdhcboB1Ausg==", + UserPwd = "NgKc7vI5u5jzh115fowV~g==", Userteam = addUserDTO.userteam, Dept_Id = addUserDTO.dept_Id, //CardNumber=addUserDTO.carnuber, @@ -730,12 +771,27 @@ //{ // 鐧惧害鍒犻櫎鎴愬姛鍚庯紝鍒犻櫎鏁版嵁搴撲腑鐨勭敤鎴� var user = BaseDal.QueryData(x => x.UserName == account).FirstOrDefault(); + if (user==null) + { + return WebResponseContent.Instance.Error("娌℃湁鎵惧埌璇ョ敤鎴�"); + } var main = _MainServer.QueryData(x => x.UserAccount == account).FirstOrDefault(); - if (user != null && main != null) + var face= _userFace.QueryData(x=>x.UserName== account).FirstOrDefault(); + if (main.MaintenanceStatus == 1) + { + return WebResponseContent.Instance.Error("璇ョ敤鎴疯繕鍦ㄦ淇腑锛屾棤娉曞垹闄�"); + } + if (face == null) { BaseDal.DeleteData(user); _MainServer.DeleteData(main); } + else + { + BaseDal.DeleteData(user); + _MainServer.DeleteData(main); + _userFace.DeleteData(face); + } return WebResponseContent.Instance.OK("鐢ㄦ埛鍒犻櫎鎴愬姛"); //} //else @@ -926,22 +982,27 @@ try { int totalCount = 0; - var Role = _RoleServer.Db.Queryable<Sys_Role>(); - var query = Role.InnerJoin<Sys_User>((a, b) => a.RoleId == b.Role_Id); + //var Role = _RoleServer.Db.Queryable<Sys_Role>(); + //var query = Role.InnerJoin<Sys_User>((a, b) => a.RoleId == b.Role_Id) + // .InnerJoin<Sys_UserFace>((a, b, c) => b.UserName == c.UserName); + + var User = BaseDal.Db.Queryable<Sys_User>(); //鏌ュ嚭鐢ㄦ埛琛� + var query = User.LeftJoin<Sys_UserFace>((a, b) => a.UserName == b.UserName); + //鎼滅储鍏抽敭瀛� if (!string.IsNullOrEmpty(pagination.searchKeyword)) { query = query.Where((a, b) => - b.UserName.Contains(pagination.searchKeyword) || - b.UserTrueName.Contains(pagination.searchKeyword) || - b.PhoneNo.Contains(pagination.searchKeyword) || + a.UserName.Contains(pagination.searchKeyword) || + a.UserTrueName.Contains(pagination.searchKeyword) || + a.PhoneNo.Contains(pagination.searchKeyword) || a.RoleName.Contains(pagination.searchKeyword)); } //鏃堕棿鏌ヨ if (pagination.startDate.HasValue && pagination.endDate.HasValue) { - query = query.Where((a, b) => b.CreateDate >= pagination.startDate.Value && b.CreateDate <= pagination.endDate.Value); + query = query.Where((a, b) => a.CreateDate >= pagination.startDate.Value && a.CreateDate <= pagination.endDate.Value); } //鎺掑簭 if (!string.IsNullOrEmpty(pagination.sortField)) @@ -951,38 +1012,38 @@ { - "CreateDate" => isAcs ? query.OrderBy((a, b) => b.CreateDate) : query.OrderByDescending((a, b) => b.CreateDate), + "CreateDate" => isAcs ? query.OrderBy((a, b) => a.CreateDate) : query.OrderByDescending((a, b) => a.CreateDate), - _ => query.OrderByDescending((a, b) => b.Creater) // 榛樿鎸夊垱寤烘椂闂撮檷搴� + _ => query.OrderByDescending((a, b) => a.Creater) // 榛樿鎸夊垱寤烘椂闂撮檷搴� }; } else { - query = query.OrderByDescending((a, b) => b.Creater); + query = query.OrderByDescending((a, b) => a.Creater); } var reslut = query.Select((a, b) => new { - b.User_Id, - b.UserName, - b.UserTrueName, - b.Unit, - b.Userteam, - b.Role_Id, - b.IsLeader, - //b.RoleName, - b.CardNumber, - b.PhoneNo, - b.UserPwd, - b.DeptName, - b.Dept_Id, - b.Email, - b.Enable, - b.Gender, - b.HeadImageUrl, - b.Address, - b.CreateDate, - b.Creater, + a.User_Id, + a.UserName, + a.UserTrueName, + a.Unit, + a.Userteam, + a.Role_Id, + a.IsLeader, + a.CardNumber, + a.PhoneNo, + a.UserPwd, + a.DeptName, + a.Dept_Id, + a.Email, + a.Enable, + a.Gender, + //b.HeadImageUrl, + b.UserFaceImageName, + a.Address, + a.CreateDate, + a.Creater, a.RoleName, }).ToPageList(pagination.pageIndex, pagination.pageSize, ref totalCount); @@ -1009,5 +1070,45 @@ } + + /// <summary> + /// 鎵归噺鍒犻櫎 + /// </summary> + /// <param name="keys">鐢ㄦ埛id</param> + /// <returns></returns> + public WebResponseContent DelUserList(int[] keys) + { + WebResponseContent webResponse = new WebResponseContent(); + foreach (int key in keys) + { + var user = BaseDal.QueryData(x => x.User_Id == key).FirstOrDefault(); + if (user == null) + { + return webResponse.Error("娌℃湁鎵惧埌璇ョ敤鎴�"); + } + var main = _MainServer.QueryData(x => x.UserAccount == user.UserName).FirstOrDefault(); + var face = _userFace.QueryData(x => x.UserName == user.UserName).FirstOrDefault(); + if (main.MaintenanceStatus == 1) + { + return WebResponseContent.Instance.Error("璇ョ敤鎴疯繕鍦ㄦ淇腑锛屾棤娉曞垹闄�"); + } + if (face == null) + { + BaseDal.DeleteData(user); + _MainServer.DeleteData(main); + } + else + { + BaseDal.DeleteData(user); + _MainServer.DeleteData(main); + _userFace.DeleteData(face); + } + + } + + return webResponse.OK(); + } + + } } -- Gitblit v1.9.3