예제 #1
0
        public void User_Password_Reset_Password_And_Send_Message()
        {
            BusinessPrincipal.Login();

            var user     = UserService.UserNew();
            var name     = DataHelper.RandomString(20);
            var password = DataHelper.RandomString(20);

            user.Name      = name;
            user.FirstName = DataHelper.RandomString(20);
            user.LastName  = DataHelper.RandomString(20);
            user.Email     = DataHelper.RandomEmail();
            user.Role      = Role.FullControl;

            user.SetPassword(password);

            user = UserService.UserSave(user, new EmptyMessenger());

            UserService.UserFetch(user.UserId);

            BusinessPrincipal.Login(name, password);

            BusinessPrincipal.Logout();

            string newPassword;

            UserPasswordService.UserPasswordReset(name, out newPassword, MessengerHelper.InitMessengerForUserUpdatePassword());

            BusinessPrincipal.Login(name, newPassword);

            BusinessPrincipal.Logout();
        }
예제 #2
0
        public void GenerateSalt()
        {
            var sut  = new UserPasswordService();
            var salt = sut.GenerateSalt();

            Assert.NotEmpty(salt);
        }
예제 #3
0
        public void HashPassword()
        {
            var sut  = new UserPasswordService();
            var hash = sut.HashPassword("123456");

            Assert.NotEmpty(hash);
        }
예제 #4
0
        public void Test(string hash)
        {
            var sut  = new UserPasswordService();
            var user = new User
            {
                Password = hash
            };

            Assert.True(sut.ComparePassword(user, "123456"));
        }
예제 #5
0
        public ActionResult ForgotPassword(ForgotPasswordModel model)
        {
            if (this.ModelState.IsValid)
            {
                UserPasswordService.UserPasswordReset(model.Name);

                return(this.RedirectToAction("LogOff"));
            }

            return(this.View(model));
        }
예제 #6
0
        public ActionResult ChangePassword(ChangePasswordModel model)
        {
            if (this.ModelState.IsValid)
            {
                UserPasswordService.UserPasswordChange(model.NewPassword, model.ConfirmPassword);

                return(this.RedirectToAction("LogOff"));
            }

            model.Tab = "Home";

            return(this.View(model));
        }
예제 #7
0
        public void HashPasswordAndTest()
        {
            var sut  = new UserPasswordService();
            var hash = sut.HashPassword("123456");

            Assert.NotEmpty(hash);
            var user = new User
            {
                Password = hash
            };

            Assert.True(sut.ComparePassword(user, "123456"));
        }
예제 #8
0
        public void User_Password_Change_Password_And_Send_Message()
        {
            BusinessPrincipal.Login();

            var user     = UserService.UserNew();
            var password = DataHelper.RandomString(10);

            user.Name      = DataHelper.RandomString(20);
            user.FirstName = DataHelper.RandomString(20);
            user.LastName  = DataHelper.RandomString(20);
            user.Email     = DataHelper.RandomEmail();
            user.Role      = Role.FullControl;

            user.SetPassword(password);

            user = UserService.UserSave(user, new EmptyMessenger());

            BusinessPrincipal.Logout();

            BusinessPrincipal.Login(user.Name, password);

            user = UserService.UserFetch(user.UserId);

            user.SetPassword(DataHelper.RandomString(20));

            var newPassword = DataHelper.RandomString(20);

            UserPasswordService.UserPasswordChange(newPassword, newPassword, MessengerHelper.InitMessengerForUserUpdatePassword());

            user = UserService.UserFetch(user.UserId);

            Assert.IsTrue(user.Password != password);

            BusinessPrincipal.Logout();

            BusinessPrincipal.Login(user.Name, newPassword);
        }
예제 #9
0
 public ApplicationService(ApplicationContext ctx, UserPasswordService userPasswordService)
 {
     _ctx = ctx;
     _userPasswordService = userPasswordService;
 }