Пример #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);
        }
Пример #2
0
        //重置密码
        public bool ResetPassword(int userId, string password)
        {
            string  resetPwd = password;
            SysUser user     = GetUser(userId);

            user.PasswordHash   = null;
            user.Mender         = AuthenticationManager.User.Identity.GetUserId <int>();
            user.LastUpdateTime = DateTime.Now;
            _db.SaveChanges();
            IdentityResult result = _userManager.AddPassword(userId, resetPwd);

            return(result.Succeeded);
        }
Пример #3
0
        public bool ResetPassword(int operater, int userId, string password)
        {
            SysUser user = GetUser(userId);

            user.PasswordHash   = null;
            user.Mender         = operater;
            user.LastUpdateTime = DateTime.Now;
            _db.SaveChanges();

            IdentityResult result = _userManager.AddPassword(userId, password);

            return(result.Succeeded);
        }