コード例 #1
0
        public void PossoSolicitarUmCodigo()
        {
            IPasswordVerification passwordVerificationService = new PasswordVerification();
            var result = passwordVerificationService.SolicitarCodigoAsync("+5585996549759", "sms").Result;

            Assert.True(result.IsValid);
        }
コード例 #2
0
        /// <summary>
        /// If the verification code is found and the user is notBlocked, then
        /// all user verification code will removed before returning success.
        /// </summary>
        /// <param name="verificationCode">The verification code sent in email</param>
        /// <returns></returns>
        public VerificationStatus VerifyForPasswordChange(string verificationCode)
        {
            if (string.IsNullOrEmpty(verificationCode))
            {
                throw new ArgumentException("Verification code is missing");
            }

            try
            {
                PasswordVerification verification = _unitOfWork.PasswordVerifications.GetByVerificationCode(verificationCode);
                if (verification == null)
                {
                    return(VerificationStatus.VerificationCodeDoesNotExist);
                }

                User user = _userService.GetUser(verification.UserID);
                if (user != null)
                {
                    return(VerificationStatus.Success);
                }
            }
            catch (Exception ex)
            {
                _logger.Error(ex, "Failed to verify user with verificationCode: {0}", verificationCode);
            }
            return(VerificationStatus.Fail);
        }
コード例 #3
0
        public void UmCodigoInvaidoNaoEhValidado()
        {
            IPasswordVerification passwordVerificationService = new PasswordVerification();
            var result = passwordVerificationService.ValidarCodigoAsync("+5585996549759", "123546").Result;

            Assert.False(result.IsValid);
        }
コード例 #4
0
        public void ConsigoValidarUmCodigoRecebido()
        {
            IPasswordVerification passwordVerificationService = new PasswordVerification();
            var result = passwordVerificationService.ValidarCodigoAsync("+5585996549759", "259764").Result;

            Assert.True(result.IsValid);
        }
コード例 #5
0
        public PasswordVerification Create()
        {
            PasswordVerification passwordVerification = new PasswordVerification();

            passwordVerification.ID               = GuidUtility.GetNewSequentialGuid();
            passwordVerification.CreationTime     = DateTime.UtcNow;
            passwordVerification.VerificationCode = UserUtility.GetNewVerificationCode();
            return(passwordVerification);
        }
コード例 #6
0
        public PasswordVerification ProcessForgotPassword(User user)
        {
            PasswordVerification verification = _passwordVerificationFactory.Create();

            verification.UserID = user.ID;
            _unitOfWork.PasswordVerifications.Add(verification);
            _unitOfWork.Commit();
            return(verification);
        }
コード例 #7
0
        public void ProcessForgotPassword()
        {
            IMembershipService            membershipService            = NinjectWebCommon.GetConcreteInstance <IMembershipService>();
            IUserService                  userService                  = NinjectWebCommon.GetConcreteInstance <IUserService>();
            IUriMakerService              uriMakerService              = NinjectWebCommon.GetConcreteInstance <IUriMakerService>();
            IForgotPasswordUriBuilder     forgotPasswordUriBuilder     = NinjectWebCommon.GetConcreteInstance <IForgotPasswordUriBuilder>();
            IEmailService                 emailService                 = NinjectWebCommon.GetConcreteInstance <IEmailService>();
            IForgotPasswordMessageBuilder forgotPasswordMessageBuilder = NinjectWebCommon.GetConcreteInstance <IForgotPasswordMessageBuilder>();

            User user = userService.GetUserByEmail(this.Email);
            PasswordVerification passwordVerification = membershipService.ProcessForgotPassword(user);

            forgotPasswordUriBuilder.Build(passwordVerification.VerificationCode);
            string url = uriMakerService.GetFullUri(forgotPasswordUriBuilder);

            forgotPasswordMessageBuilder.Build(user, url);
            emailService.SendText(forgotPasswordMessageBuilder);
        }
コード例 #8
0
        public ActionResult SifreDegistir(PasswordVerification model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var kullaniciadi = User.Identity.Name.Split(' ');
            int kullaniciId  = Convert.ToInt32(kullaniciadi[3]);

            tblKullanici kullanici = db.tblKullanici.FirstOrDefault(x => x.KullaniciID == kullaniciId);

            EskiSifre = Sifrele(model.EskiSifre);
            if (kullanici.Sifre == EskiSifre)
            {
                if (model.EskiSifre != model.Password)
                {
                    tblKullanici guncelkullanici = db.tblKullanici.Find(kullaniciId);
                    guncelkullanici.Sifre = Sifrele(model.Password);
                    db.SaveChanges();
                }
                else
                {
                    ViewBag.Mesaj = "Eski Şifre ile Yeni Şifre aynı olamaz";
                    return(View(model));
                }
            }
            else
            {
                ViewBag.Mesaj = "Lütfen Şifrenizi Doğru giriniz!";
                return(View(model));
            }

            FormsAuthentication.SignOut();
            return(RedirectToAction("Index", "Home"));
        }
コード例 #9
0
        public User GetUserByPasswordVerificationCode(string verificationCode)
        {
            PasswordVerification passwordVerification = _unitOfWork.PasswordVerifications.GetByVerificationCode(verificationCode);

            return(passwordVerification == null ? null : this.GetUser(passwordVerification.UserID));
        }
コード例 #10
0
 public void CanBeAPassword_ComparesPassAndPattern(string password, bool expected)
 {
     Assert.AreEqual(expected, PasswordVerification.CanBeAPassword(password));
 }