From 1b108e8d7335d5a5a59dfcf2f4eeef034a53b9b8 Mon Sep 17 00:00:00 2001
From: zhaowc <526854230@qq.com>
Date: 星期五, 06 九月 2024 12:33:06 +0800
Subject: [PATCH] 用户管理页角色问题和密码增加验证问题
---
Wms/WMS.BLL/SysServer/UserInforServer.cs | 41 ++++++++++++++++++++++++++++++++++-------
1 files changed, 34 insertions(+), 7 deletions(-)
diff --git a/Wms/WMS.BLL/SysServer/UserInforServer.cs b/Wms/WMS.BLL/SysServer/UserInforServer.cs
index 30997b1..29fbd2d 100644
--- a/Wms/WMS.BLL/SysServer/UserInforServer.cs
+++ b/Wms/WMS.BLL/SysServer/UserInforServer.cs
@@ -16,6 +16,7 @@
using WMS.Entity.BllTaskEntity;
using WMS.DAL;
using Utility;
+using System.Text.RegularExpressions;
namespace WMS.BLL.SysServer
{
@@ -61,6 +62,7 @@
/// <returns></returns>
public async Task<List<UserInfoDto>> GetUserRoleList(string UserName, string DepartmentNo, string RoleNo, string Status)
{
+ var modUser = await Db.Queryable<SysUserInfor>().FirstAsync(s => s.Id == _userManager.UserId);
return await Db.Queryable<SysUserInfor>()
.LeftJoin<SysUserInfor>((a, b) => a.CreateUser == b.Id)
.LeftJoin<SysDepartment>((a, b, c) => a.DepartmentNo == c.DepartmentNo)
@@ -70,6 +72,7 @@
.WhereIF(!string.IsNullOrEmpty(DepartmentNo), a => a.DepartmentNo == DepartmentNo)
.WhereIF(!string.IsNullOrEmpty(RoleNo), a => a.RoleNo == RoleNo)
.WhereIF(!string.IsNullOrEmpty(Status), a => a.Status == Status)
+ .WhereIF(modUser.UserName.ToUpper() != "ADMIN", a => a.CreateUser == _userManager.UserId)
.Where(a => a.IsDel == "0")
.Select<UserInfoDto>((a, b, c, d) => new UserInfoDto()
{
@@ -192,15 +195,39 @@
/// <param name="userId">鐢ㄦ埛id</param>
/// <returns></returns>
/// <exception cref="Exception">鎹曡幏寮傚父</exception>
- public async Task<int> UptUserPassWord(string pwdNew, int userId)
+ public async Task<int> UptUserPassWord(string pwdNew,string pwdNewTwo, int userId)
{
+ var funSet = Db.Queryable<SysFunSetting>().Where(m => m.IsDel == "0" && m.FunSetName == "瀵嗙爜瑙勫垯" && m.IsEnable == "NO").ToList().FirstOrDefault();
+ if (funSet != null)
+ {
+ bool t = false;
+ switch (funSet.FunSetNo)
+ {
+ case "Fun052": //鏁板瓧锛屽瓧姣嶏紝绗﹀彿
+ t = Regex.IsMatch(pwdNewTwo, @"^(?:(?=.*[0-9].*)(?=.*[A-Za-z].*)(?=.*[^0-9A-Za-z].*)).{3,}");
+ break;
+ case "Fun053": //瀛楁瘝锛屾暟瀛�
+ t = Regex.IsMatch(pwdNewTwo, @"^(?:(?=.*[0-9].*)(?=.*[A-Za-z].*)).{2,}");
+ break;
+ case "Fun051": //鏁板瓧锛屽瓧姣嶏紝绗﹀彿锛岄暱搴�
+ t = Regex.IsMatch(pwdNewTwo, @"^(?=.*[0-9])(?=.*[a-zA-Z])(?=([\x21-\x7e]+)[^a-zA-Z0-9]).{8,30}");
+ break;
+ default:
+ break;
+ }
+ if (!t)
+ {
+ throw Oops.Bah("杈撳叆瀵嗙爜涓嶇鍚堝瘑鐮佽鍒�");
+ }
+ }
return await Db.Updateable<SysUserInfor>()
- .Where(s => s.Id == userId)
- .SetColumns(s => s.UpdateTime == DateTime.Now)
- .SetColumns(s => s.UpdateUser == _userManager.UserId)
- .SetColumns(s=>s.PassWord == pwdNew)
- .SetColumns(s => s.SetPasswordTime == DateTime.Now)
- .ExecuteCommandAsync();
+ .Where(s => s.Id == userId)
+ .SetColumns(s => s.UpdateTime == DateTime.Now)
+ .SetColumns(s => s.UpdateUser == _userManager.UserId)
+ .SetColumns(s => s.PassWord == pwdNew)
+ .SetColumns(s => s.SetPasswordTime == DateTime.Now)
+ .ExecuteCommandAsync();
+
}
/// <summary>
/// x澶╁悗鎻愰啋鐢ㄦ埛淇敼瀵嗙爜
--
Gitblit v1.8.0