示例#1
0
        public ActionResult <object> ModifySysUserByPwd(string userPwd, string newPwd)
        {
            var userLogin = GetLoginUser(HttpContext);
            var user      = _repository.GetSysUserById(userLogin.UserId);

            if (CryptogramHelper.GetMd5Hash(userPwd) == user.UserPwd)
            {
                user.UserPwd = CryptogramHelper.GetMd5Hash(newPwd);
                return(_repository.ModifySysUser(user).ResponseSuccessFailure());
            }
            return(false.ResponseDataError("旧密码错误"));
        }
示例#2
0
        public ActionResult <object> Login(string username, string password)
        {
            if (username.IsNullOrWhiteSpace() || password.IsNullOrWhiteSpace())
            {
                return(false.ResponseDataError("参数为空"));
            }
            var user = _repository.GetSysUserByName(username);

            if (user == null)
            {
                return(false.ResponseDataError("账号或密码错误"));
            }
            if (CryptogramHelper.GetMd5Hash(password) != user.UserPwd)
            {
                if (user.IsLock && user.ModifyTime.Date == DateTime.Now.Date)
                {
                    return(false.ResponseUnknown("账户错误次数过多,请明天在尝试"));
                }
                if (user.ModifyTime.Date != DateTime.Now.Date)
                {
                    user.ErrorCount = 0;
                    user.IsLock     = false;
                }
                user.ErrorCount += 1;
                user.ModifyTime  = DateTime.Now;    //修改时间
                if (user.ErrorCount >= 5)
                {
                    user.IsLock = true;
                }
                _repository.ModifySysUserAsync(user); //异步更新数据
                return(false.ResponseDataError("账号或密码错误"));
            }

            var roleIds = new List <int> {
                user.RoleId
            };
            var model = new
            {
                token        = SetLoginToken(user, roleIds),
                name         = user.UserName,
                avatar       = AppSettingsHelper.GetString("LoginUserAvatarUrl", "#"),
                introduction = user.UserCode,
                roles        = roleIds.GetStringJoin(",")
            };

            user.ErrorCount = 0;
            user.IsLock     = false;
            user.ModifyTime = DateTime.Now;                                                     //修改时间
            _repository.ModifySysUserAsync(user);                                               //异步更新数据
            _cache.Set(model.token.GetHashCode(), model.token, DateTimeOffset.Now.AddHours(1)); //缓存数据1小时
            return(model.ResponseSuccess());
        }
示例#3
0
        public ActionResult <object> ResetSysUserByPwd(int userId, string pwd)
        {
            var user = _repository.GetSysUser(userId);

            if (user == null)
            {
                return(false.ResponseDataError());
            }
            user.UserPwd    = CryptogramHelper.GetMd5Hash(pwd);
            user.IsLock     = false;
            user.ErrorCount = 0;
            return(_repository.ModifySysUser(user).ResponseSuccessFailure());
        }
示例#4
0
 /// <summary>
 /// 插入用户
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public bool AddSysUser(SysUserEntity model)
 {
     model.ModifyTime = DateTime.Now;
     model.UserPwd    = CryptogramHelper.GetMd5Hash(model.UserPwd);
     return(_service.Insert(model));
 }