public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } // Сбои при входе не приводят к блокированию учетной записи // Чтобы ошибки при вводе пароля инициировали блокирование учетной записи, замените на shouldLockout: true var result = await SignInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, shouldLockout : false); switch (result) { case SignInStatus.Success: var u = userService.GetDTO(model.UserName); Session[AppConstants.CURRENT_APPLICATION_USER_SESSION_KEY] = u; userService.SaveStartSessionFact(u.Id, Request.UserHostAddress); return(RedirectToLocal(returnUrl)); case SignInStatus.Failure: default: ModelState.AddModelError("", Resource.Message_LoginError); return(View(model)); } }
public Task <ApplicationUser> FindByIdAsync(long userId) { CabinetUserDTO u = userService.GetDTO(userId); if (u != null) { Task <ApplicationUser> t = Task.Run(() => new ApplicationUser() { Id = u.Id, UserName = u.UserName, Password = u.Password, Email = u.Email }); } return(Task.Run(() => (ApplicationUser)null)); }
public void CabinetUserService_GetDTO_ByUserId() { CabinetUserDTO u = userService.GetDTO(1); Assert.AreEqual(u.Id, listUser[0].Id); Assert.AreEqual(u.Email, listUser[0].Email); u = userService.GetDTO(2); Assert.AreEqual(u.Id, listUser[1].Id); Assert.AreEqual(u.Email, listUser[1].Email); u = userService.GetDTO(3); Assert.AreEqual(u.Id, listUser[2].Id); Assert.AreEqual(u.Email, listUser[2].Email); }