Ejemplo n.º 1
0
        public bool ChangePassword(string userName, string oldPassword, string newPassword)
        {
            if (String.IsNullOrEmpty(userName))
            {
                throw new ArgumentException("值不能为 null 或为空。", "userName");
            }
            if (String.IsNullOrEmpty(oldPassword))
            {
                throw new ArgumentException("值不能为 null 或为空。", "oldPassword");
            }
            if (String.IsNullOrEmpty(newPassword))
            {
                throw new ArgumentException("值不能为 null 或为空。", "newPassword");
            }

            try
            {
                var currentUser = Validate(userName, oldPassword);
                if (currentUser is EmptyUserContract)
                {
                    return(false);
                }
                _userRepository.Update(p => p.USER_INFO_NAME == userName,
                                       (u) => u.USER_INFO_PWD = Md5Cryptographer.CreateHash(newPassword));
                return(true);
            }
            catch (ArgumentException)
            {
                return(false);
            }
            catch (Exception e)
            {
                return(false);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 手持端登录
        /// </summary>
        /// <param name="?"></param>
        /// <returns></returns>
        public UserInfoContract LogIn(string username, string pwd)
        {
            var user = _userRoleDepartmentViewRepository.Get(p => p.USER_INFO_ISDEL == 0 && p.DEPT_INFO_ISDEL == 0 && p.USER_INFO_NAME == username.ToLower());

            if (user == null)
            {
                return(null);
            }
            var rs = Md5Cryptographer.CompareHash(pwd, user.USER_INFO_PWD);

            if (!rs)
            {
                return(null);
            }
            var records = user.ToUserInfoContract();

            return(records);
        }
Ejemplo n.º 3
0
        public ResultStatus Create(UserContract user)
        {
            if (user.IsValid())
            {
                var count = _userRepository.Count(p => p.USER_INFO_ISDEL == 0 && p.USER_INFO_NAME == user.UserName.ToLower());

                if (count == 0)
                {
                    user.Password    = Md5Cryptographer.CreateHash(user.Password);
                    user.CreatedDate = DateTime.Now;
                    var entity = user.ToEntity();

                    _userRepository.Add(entity);
                    user.Id = entity.USER_INFO_ID;
                    return(ResultStatus.Success);
                }
                return(ResultStatus.Duplicate);
            }
            return(ResultStatus.Failed);
        }
Ejemplo n.º 4
0
        public UserContract Validate(string userName, string password)
        {
            var user = _userRoleDepartmentViewRepository.Get(p => p.USER_INFO_ISDEL == 0 && p.DEPT_INFO_ISDEL == 0 &&
                                                             p.USER_INFO_NAME == userName.ToLower());

            if (user != null)
            {
                var rs = Md5Cryptographer.CompareHash(password, user.USER_INFO_PWD);
                if (rs)
                {
                    var records = user.ToUserContract();
                    records.Token = Md5Cryptographer.GetGuidHash();
                    return(records);
                }
            }
            return(new EmptyUserContract()
            {
                ErrorMessage = "用户名或密码错误!"
            });
        }