Esempio n. 1
0
        /// <summary>
        /// 修改密码或重置密码 当oldpassword为null的时候为重置密码
        /// </summary>
        /// <param name="userId">用户id</param>
        /// <param name="oldpassword">旧密码</param>
        /// <param name="newpassword">新密码</param>
        /// <returns></returns>
        public bool ChangePassword(int userId, string oldpassword, string newpassword)
        {
            if (newpassword != null)
            {
                newpassword = newpassword.Trim();
            }

            if (oldpassword != null)
            {
                oldpassword = oldpassword.Trim();
            }


            SysUser user = _db.Users.Where(m => m.Id == userId).FirstOrDefault();

            if (user == null)
            {
                return(false);
            }

            if (oldpassword == null)
            {
                user.PasswordHash = null;
            }

            if (AuthenticationManager.User.Identity.IsAuthenticated)
            {
                user.Mender = AuthenticationManager.User.Identity.GetUserId <int>();
            }
            else
            {
                user.Mender = userId;
            }

            user.LastUpdateTime = DateTime.Now;


            IdentityResult result = null;

            if (oldpassword == null)
            {
                result = _userManager.AddPassword(userId, newpassword);
            }
            else
            {
                result = _userManager.ChangePassword(userId, oldpassword, newpassword);
            }
            _db.SaveChanges();



            return(result.Succeeded);
        }
Esempio n. 2
0
        //修改密码
        public bool ChangePassword(int userId, string oldPassword, string newPassword)
        {
            IdentityResult result = _userManager.ChangePassword(userId, oldPassword, newPassword);

            if (result.Succeeded)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Esempio n. 3
0
        /// <summary>
        /// 修改密码或重置密码 当oldpassword为null的时候为重置密码
        /// </summary>
        /// <param name="userId">用户id</param>
        /// <param name="oldpassword">旧密码</param>
        /// <param name="newpassword">新密码</param>
        /// <returns></returns>
        public bool ChangePassword(int operater, int userId, string oldpassword, string newpassword)
        {
            TUser user = GetUser(userId);

            var isFlag = _userManager.CheckPassword(user, oldpassword);

            if (!isFlag)
            {
                return(false);
            }


            var result = _userManager.ChangePassword(userId, oldpassword, newpassword);

            AddOperateHistory(operater, Enumeration.OperateType.Delete, userId, string.Format("修改用户{0}(ID:{1})密码", user.UserName, user.Id));

            return(result.Succeeded);
        }