Exemplo n.º 1
0
        public UserInfor GetUserInforLogin(UserLogin userLogin)
        {
            var userInfor = new UserInfor();

            var user = _userLoginRepository.GetSingleByCondition(x => x.Username == userLogin.Username);

            if (user == null)
            {
                return(null);
            }
            else
            {
                var passwordDecrypt = CommonUltils.DecryptStringAES(userLogin.Password);
                var validPw         = CommonUltils.VerifyPasswordHash(passwordDecrypt, user.PasswordHash, user.PasswordSalt);
                if (validPw == false)
                {
                    return(null);
                }
                else
                {
                    string[] includes = new string[1] {
                        "Role"
                    };
                    userInfor = _userRepository.GetSingleByCondition(x => x.UserId == user.UserId, includes);
                }
            }

            return(userInfor);
        }
Exemplo n.º 2
0
        public ServiceResponse UpdatePassword(int currentUserID, string oldPw, string newPw)
        {
            ServiceResponse result = new ServiceResponse();

            var userLogin = _userLoginRepository.GetSingleById(currentUserID);

            if (userLogin != null)
            {
                var oldPwDecrypt = CommonUltils.DecryptStringAES(oldPw);
                var newPwDecrypt = CommonUltils.DecryptStringAES(newPw);

                var validPw = CommonUltils.VerifyPasswordHash(oldPwDecrypt, userLogin.PasswordHash, userLogin.PasswordSalt);

                if (validPw)
                {
                    userLogin.Password = newPwDecrypt;
                    CommonUltils.CreatePasswordHash(newPwDecrypt, out byte[] passwordHash, out byte[] passwordSalt);
                    userLogin.PasswordHash     = passwordHash;
                    userLogin.PasswordSalt     = passwordSalt;
                    userLogin.IsFirstTimeLogin = 1;
                    _userLoginRepository.Update(userLogin);

                    this.Save();
                    result.OnSuccess(null);
                }
                else
                {
                    result.OnError("Old password incorrect", 10);
                }
            }
            else
            {
                result.OnError("Cannot find User", 11);
            }

            return(result);
        }