zhaowc
2024-09-06 1b108e8d7335d5a5a59dfcf2f4eeef034a53b9b8
用户管理页角色问题和密码增加验证问题
5个文件已修改
50 ■■■■ 已修改文件
HTML/views/SystemSettings/Role.html 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/WareHouseSetting/WareHouseFrom.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/SysServer/UserInforServer.cs 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.IBLL/ISysServer/IUserInforServer.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Wms/Controllers/BasisController.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/SystemSettings/Role.html
@@ -312,6 +312,7 @@
                form.on("submit(LAY-app-contlist-search)", function (data) {
                    var RoleNo = data.field.RoleNo;
                    var RoleName = data.field.RoleName;
                    console.log("roleno:"+RoleNo+" rolename:"+RoleName);
                    refreshTable(RoleNo, RoleName);
                });
HTML/views/WareHouseSetting/WareHouseFrom.html
@@ -31,7 +31,7 @@
                </div>
            </div>
            <div class="layui-form-item">
                <label class="layui-form-label">仓库类型</label>
                <label class="layui-form-label">存储环境</label>
                <div class="layui-input-block" >
                    <select name="Temp" id="Temp" lay-filter="Temp" lay-search>
                        <option value=""></option>
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天后提醒用户修改密码
Wms/WMS.IBLL/ISysServer/IUserInforServer.cs
@@ -64,7 +64,7 @@
        /// <param name="pwdNew">新密码</param>
        /// <param name="userId">用户id</param>
        /// <returns></returns>
        Task<int> UptUserPassWord(string pwdNew, int userId);
        Task<int> UptUserPassWord(string pwdNew,string pwdNewTwo, int userId);
        /// <summary>
        /// x天后提醒用户修改密码
Wms/Wms/Controllers/BasisController.cs
@@ -201,7 +201,7 @@
        {
            pwdOld = Md5Tools.CalcMd5(pwdOld);
            pwdNew = Md5Tools.CalcMd5(pwdNew);
            pwdNewTwo = Md5Tools.CalcMd5(pwdNewTwo);
            //pwdNewTwo = Md5Tools.CalcMd5(pwdNewTwo);
            //获取当前操作用户id
            SysUserInfor user = await _userInforServer.GetUserInfoById(_userManager.UserId);
            if (user == null)
@@ -209,7 +209,7 @@
            if (user.PassWord != pwdOld)
                throw Oops.Bah("原密码不正确");
            //修改密码
            int i = await _userInforServer.UptUserPassWord(pwdNew, _userManager.UserId);
            int i = await _userInforServer.UptUserPassWord(pwdNew, pwdNewTwo, _userManager.UserId);
            if (i <= 0)
                throw Oops.Bah("修改密码失败");
        }