/// <summary>
        /// 修改密码
        /// </summary>
        /// <param name="old"></param>
        /// <param name="pwd"></param>
        /// <param name="confirm"></param>
        /// <returns></returns>
        public ActionResult ChangePassword(string old, string pwd, string confirm)
        {
            if (pwd.Length <= 6)
            {
                return(ResultData(null, false, "密码过短,至少需要6个字符!"));
            }

            if (!pwd.Equals(confirm))
            {
                return(ResultData(null, false, "两次输入的密码不一致!"));
            }

            var regex = new Regex(@"(?=.*[0-9])                     #必须包含数字
                                            (?=.*[a-zA-Z])                  #必须包含小写或大写字母
                                            (?=([\x21-\x7e]+)[^a-zA-Z0-9])  #必须包含特殊符号
                                            .{6,30}                         #至少6个字符,最多30个字符
                                            ", RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace);

            if (regex.Match(pwd).Success)
            {
                bool b = UserInfoBll.ChangePassword(CurrentUser.Id, old, pwd);
                return(ResultData(null, b, b ? $"密码修改成功,新密码为:{pwd}!" : "密码修改失败,可能是原密码不正确!"));
            }

            return(ResultData(null, false, "密码强度值不够,密码必须包含数字,必须包含小写或大写字母,必须包含至少一个特殊符号,至少6个字符,最多30个字符!"));
        }
Example #2
0
 public ActionResult ChangePassword(int id, string old, string pwd, string pwd2)
 {
     if (pwd.Equals(pwd2))
     {
         bool b = UserInfoBll.ChangePassword(id, old, pwd);
         return(ResultData(null, b, b ? $"密码修改成功,新密码为:{pwd}!" : "密码修改失败,可能是原密码不正确!"));
     }
     return(ResultData(null, false, "两次输入的密码不一致!"));
 }
Example #3
0
        public IHttpActionResult ChangePasspord(string token, string old, string password, string confirm)
        {
            UserInfoDto user;

            if (Guid.TryParse(token, out var userid))
            {
                //session登录
                user = UserInfoBll.GetById(userid).Mapper <UserInfoDto>();
            }
            else
            {
                //api登录
                if (!RedisHelper.KeyExists(token))
                {
                    return(ResultData(null, false, "用户未登录系统!"));
                }
                user = RedisHelper.GetString <UserInfoDto>(token);
            }
            if (password.Length <= 6)
            {
                return(ResultData(null, false, "密码过短,至少需要6个字符!"));
            }

            if (!password.Equals(confirm))
            {
                return(ResultData(null, false, "两次输入的密码不一致!"));
            }

            var regex = new Regex(@"(?=.*[0-9])                     #必须包含数字
                                            (?=.*[a-zA-Z])                  #必须包含小写或大写字母
                                            (?=([\x21-\x7e]+)[^a-zA-Z0-9])  #必须包含特殊符号
                                            .{6,30}                         #至少6个字符,最多30个字符
                                            ", RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace);

            if (!regex.Match(password).Success)
            {
                return(ResultData(null, false, "密码强度值不够,密码必须包含数字,必须包含小写或大写字母,必须包含至少一个特殊符号,至少6个字符,最多30个字符!"));
            }
            bool b = UserInfoBll.ChangePassword(user.Id, old, password);

            return(ResultData(null, b, b ? $"密码修改成功,新密码为:{password}!" : "密码修改失败,可能是原密码不正确!"));
        }