Exemple #1
0
 public ActionResult SaveSysUsrInfo([FromBody] SysUsrMstrDto dto)
 {
     try
     {
         var result = _sysUsrMstrService.SaveSysUsrInfo(dto);
         if (!result.IsSuccess)
         {
             return(Fail(result.msg));
         }
         return(Success("保存成功"));
     }
     catch (Exception ex)
     {
         return(Fail(ex.Message));
     }
 }
Exemple #2
0
        /// <summary>
        /// 保存员工信息
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public ReturnMsg SaveSysUsrInfo(SysUsrMstrDto dto)
        {
            var rm     = new ReturnMsg();
            var entity = new SysUsrMstr();
            var isOk   = CheckSysUsrInfo(dto, rm);

            if (!isOk.IsSuccess)
            {
                return(rm);
            }
            if (dto.Id == 0)
            {
                dto.USR_REG_DATE = DateTime.Now;
                _initHelper.InitAdd(dto, AbpSession.USR_ID, AbpSession.ORG_NO, AbpSession.BG_NO);
                entity = dto.ToEntity();
                _sysUsrMstrRepository.Insert(entity);
            }
            else
            {
                _initHelper.InitUpdate(dto, AbpSession.USR_ID);
                entity = dto.ToEntity();
                _sysUsrMstrRepository.Update(entity);
            }
            var userAuth = _sysUsrAuthRepository.GetAllList(c => c.USR_ID == dto.Id);

            if (userAuth.Count > 0)
            {
                _sysUsrAuthRepository.DelSysUsrAuthInfo(dto.Id.ToString());
            }
            if (!string.IsNullOrEmpty(dto.RoleIds))
            {
                var list = dto.RoleIds.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList();
                foreach (var item in list)
                {
                    var auth = new SysUsrAuth();
                    auth.Id      = Guid.NewGuid().ToString("N");
                    auth.USR_ID  = (long)dto.Id;
                    auth.ROLE_ID = Convert.ToInt32(item);
                    _initHelper.InitAdd(auth, AbpSession.USR_ID, AbpSession.ORG_NO, AbpSession.BG_NO);
                    _sysUsrAuthRepository.Insert(auth);
                }
            }
            rm.IsSuccess = true;

            return(rm);
        }
 private Claim[] GetUserCliams(SysUsrMstrDto dto, string scope)
 {
     return(new Claim[]
     {
         new Claim("USR_ID", dto.Id.ToString()),
         new Claim("USR_NAME", dto.USR_NAME ?? ""),
         new Claim("ORG_NO", dto.ORG_NO ?? ""),
         new Claim("USR_REAL_NAME", dto.USR_REAL_NAME ?? ""),
         new Claim("USR_MOBILE", dto.USR_MOBILE ?? ""),
         new Claim("USR_AVATAR_PATH", dto.USR_AVATAR_PATH ?? ""),
         new Claim("ERP_EMP_ID", dto.ERP_EMP_ID ?? ""),
         new Claim("USR_TYPE", dto.USR_TYPE ?? ""),
         new Claim("USR_SCOPE", scope ?? "MD"),
         new Claim("BG_NO", dto.BG_NO ?? ""),
         new Claim("OPEN_ID", dto.OPEN_ID ?? ""),
     });
 }
        public async Task ValidateAsync(ExtensionGrantValidationContext context)
        {
            var           userName = context.Request.Raw["username"];
            var           password = "";
            var           scope    = "";
            SysUsrMstrDto dto      = null;
            var           bizType  = context.Request.Raw["bizType"];
            var           orgNo    = context.Request.Raw["orgNo"];
            var           bgNo     = context.Request.Raw["bgNo"];

            if (string.IsNullOrEmpty(bizType) || string.IsNullOrEmpty(orgNo) || string.IsNullOrEmpty(bgNo))
            {
                context.Result = new GrantValidationResult(TokenRequestErrors.InvalidGrant, "invalid user credential");
            }
            else
            {
                dto = await _sysUsrMstrService.Login(userName, password, orgNo, bgNo, bizType);

                if (dto != null)
                {
                    var result = await _sysRoleMstrRepository.GetUserRoleScope(dto.Id);

                    if (result.Count != 0)
                    {
                        scope = result[0];
                    }

                    context.Result = new GrantValidationResult(
                        subject: userName,
                        authenticationMethod: "user",
                        claims: GetUserCliams(dto, scope)
                        );
                }
                else
                {
                    context.Result = new GrantValidationResult(TokenRequestErrors.InvalidGrant, "invalid user credential");
                }
            }
        }
Exemple #5
0
        /// <summary>
        /// 校验用户信息
        /// </summary>
        /// <param name="dto"></param>
        /// <param name="rm"></param>
        /// <returns></returns>
        public ReturnMsg CheckSysUsrInfo(SysUsrMstrDto dto, ReturnMsg rm)
        {
            if (string.IsNullOrEmpty(dto.USR_NAME))
            {
                rm.IsSuccess = false;
                rm.msg       = "请输入用户名";
                return(rm);
            }
            if (string.IsNullOrEmpty(dto.USR_PWD))
            {
                rm.IsSuccess = false;
                rm.msg       = "请输入密码";
                return(rm);
            }
            if (string.IsNullOrEmpty(dto.USR_MOBILE))
            {
                rm.IsSuccess = false;
                rm.msg       = "请输入用户手机";
                return(rm);
            }
            if (string.IsNullOrEmpty(dto.USR_TYPE))
            {
                rm.IsSuccess = false;
                rm.msg       = "请选择账号类型";
                return(rm);
            }
            if (string.IsNullOrEmpty(dto.USR_REAL_NAME))
            {
                rm.IsSuccess = false;
                rm.msg       = "请输入真实姓名";
                return(rm);
            }
            if (string.IsNullOrEmpty(dto.ERP_EMP_ID))
            {
                rm.IsSuccess = false;
                rm.msg       = "请输入员工编码";
                return(rm);
            }
            if (string.IsNullOrEmpty(dto.ORG_NO))
            {
                rm.IsSuccess = false;
                rm.msg       = "请选择所属机构";
                return(rm);
            }
            var result = new List <SysUsrMstr>();

            dto.USR_PWD = Encrypt.Md5Hash(dto.USR_PWD);
            result      = dto.Id == 0 ? _sysUsrMstrRepository.GetAllList(c => c.USR_NAME == dto.USR_NAME && c.USR_PWD == dto.USR_PWD && c.DEL_FLAG == 1)
                : _sysUsrMstrRepository.GetAllList(c => c.USR_NAME == dto.USR_NAME && c.USR_PWD == dto.USR_PWD && c.Id != dto.Id & c.DEL_FLAG == 1);
            if (result.Count > 0)
            {
                rm.IsSuccess = false;
                rm.msg       = "用户名/密码已存在,请重新输入";
                return(rm);
            }
            result = dto.Id == 0 ? _sysUsrMstrRepository.GetAllList(c => c.USR_MOBILE == dto.USR_MOBILE && c.DEL_FLAG == 1 && c.ORG_NO == dto.ORG_NO)
                : _sysUsrMstrRepository.GetAllList(c => c.USR_MOBILE == dto.USR_MOBILE && c.Id != dto.Id & c.DEL_FLAG == 1 && c.ORG_NO == dto.ORG_NO);
            if (result.Count > 0)
            {
                rm.IsSuccess = false;
                rm.msg       = "该手机已存在,请重新输入";
                return(rm);
            }
            result = dto.Id == 0 ? _sysUsrMstrRepository.GetAllList(c => c.ERP_EMP_ID == dto.ERP_EMP_ID && c.DEL_FLAG == 1 && c.ORG_NO == dto.ORG_NO)
                : _sysUsrMstrRepository.GetAllList(c => c.ERP_EMP_ID == dto.ERP_EMP_ID && c.Id != dto.Id & c.DEL_FLAG == 1 && c.ORG_NO == dto.ORG_NO);
            if (result.Count > 0)
            {
                rm.IsSuccess = false;
                rm.msg       = "该员工代码已存在,请重新输入";
                return(rm);
            }
            rm.IsSuccess = true;

            return(rm);
        }