public virtual ActionResult Login(ViewModels.Account.Login accountLoginViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(""));
            }

            var user = _accountService.ValidateUser(accountLoginViewModel.Username, accountLoginViewModel.Password);


            if (!user.Any())
            {
                ModelState.AddModelError("loginError", AccountResources.ErrorLogin);
                this.Flash(AccountResources.ErrorLogin, FlashEnum.Error);
                return(View(""));
            }
            if (!_accountService.isCoordonator(user.First()) && !_accountService.isBetweenAccesibleDates())
            {
                ModelState.AddModelError("loginError", AccountResources.ErrorLogin);
                this.Flash(AccountResources.ErrorLoginOutOfApplyDateRange, FlashEnum.Error);
                return(View(""));
            }
            AuthentificateUser(user.First());

            return(RedirectToAction(MVC.Home.Index()));
        }
示例#2
0
        public virtual ActionResult Login(ViewModels.Account.Login accountLoginViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(MVC.Account.Views.ViewNames.Login));
            }

            var user = _accountService.ValidateUser(accountLoginViewModel.Identifier, accountLoginViewModel.Password);

            if (!user.Any())
            {
                ModelState.AddModelError("loginError", WebMessage.AccountMessage.INVALID_USERNAME_OR_PASSWORD);
                return(View(MVC.Account.Views.ViewNames.Login));
            }

            if (!_internshipPeriodService.IsCurrentDateInInternshipPeriod() && user.First().Roles.First().RoleName != RoleNames.Coordinator)
            {
                ModelState.AddModelError("loginError", WebMessage.AccountMessage.SYSTEM_IS_NOT_OPEN);
                return(View(MVC.Account.Views.ViewNames.Login));
            }

            _httpContext.AuthentificateUser(user.First());

            return(RedirectToAction(RedirectByUserRole(user.First())));
        }
        public void login_should_authentificate_user_when_user_is_valid()
        {
            var user = _fixture.Create <ApplicationUser>();

            user.Roles = new List <UserRole>()
            {
                new UserRole()
                {
                    RoleName = RoleName.Coordinator
                }
            };
            var loginViewModel = new ViewModels.Account.Login()
            {
                Username = user.UserName,
                Password = user.Password
            };
            var valideUser = new MayBe <ApplicationUser>(user);

            accountService.ValidateUser(loginViewModel.Username, loginViewModel.Password).Returns(valideUser);
            accountService.isCoordonator(user).Returns(true);
            accountService.isBetweenAccesibleDates().Returns(true);

            accountController.Login(loginViewModel);

            httpContext.Received().AuthenticationSignIn(Arg.Any <ClaimsIdentity>());
        }
        public void logout_should_logout_an_authentificated_user()
        {
            var user = _fixture.Create <ApplicationUser>();

            user.Roles = new List <UserRole>()
            {
                new UserRole()
                {
                    RoleName = RoleName.Coordinator
                }
            };
            var loginViewModel = new ViewModels.Account.Login()
            {
                Username = user.UserName,
                Password = user.Password
            };
            var valideUser = new MayBe <ApplicationUser>(user);

            accountService.ValidateUser(loginViewModel.Username, loginViewModel.Password).Returns(valideUser);

            accountController.Login(loginViewModel);
            accountController.Logout();

            httpContext.Received().AuthenticationSignOut();
        }
        public void login_should_redirect_to_home_index_when_user_is_valid()
        {
            var user           = _fixture.Create <ApplicationUser>();
            var loginViewModel = new ViewModels.Account.Login()
            {
                Username = user.UserName,
                Password = user.Password
            };
            var valideUser = new MayBe <ApplicationUser>(user);

            accountService.ValidateUser(loginViewModel.Username, loginViewModel.Password).Returns(valideUser);
            accountService.isCoordonator(user).Returns(true);
            accountService.isBetweenAccesibleDates().Returns(true);

            var routeResult = accountController.Login(loginViewModel) as RedirectToRouteResult;
            var routeAction = routeResult.RouteValues["Action"];

            routeAction.Should().Be(MVC.Home.Views.ViewNames.Index);
        }
示例#6
0
        public int userlogin()
        {
            var user = _fixture.Create <ApplicationUser>();

            user.Roles = new List <UserRole>()
            {
                new UserRole()
                {
                    RoleName = RoleName.Coordinator
                }
            };
            var loginViewModel = new ViewModels.Account.Login()
            {
                Username = user.UserName,
                Password = user.Password
            };
            var valideUser = new MayBe <ApplicationUser>(user);

            accountService.ValidateUser(loginViewModel.Username, loginViewModel.Password).Returns(valideUser);
            httpContextService.GetUserId().Returns(user.Id);
            accountController.Login(loginViewModel);

            return(user.Id);
        }