public async Task <ActionResult> Login(LoginModel model) { await SetInitialDataAsync(); if (ModelState.IsValid) { UserData userDto = new UserData { Email = model.Email, Password = model.Password }; UserServiceRef.UserServiceClient client = new UserServiceClient(); client.Authenticate(userDto); ClaimsIdentityData claim = client.Authenticate(userDto); if (claim == null) { ModelState.AddModelError("", "Неверный логин или пароль."); client.Close(); } else { AuthenticationManager.SignOut(); AuthenticationManager.SignIn(new AuthenticationProperties { IsPersistent = true }, claim.test); client.Close(); return(RedirectToAction("Index", "Home")); } } return(View(model)); }
public ClaimsIdentityData Authenticate(UserData userDto) { ClaimsIdentityData claim = null; // находим пользователя ApplicationUser user = Database.UserManager.Find(userDto.Email, userDto.Password); // авторизуем его и возвращаем объект ClaimsIdentity if (user != null) { claim = new ClaimsIdentityData(Database.UserManager.CreateIdentity(user, DefaultAuthenticationTypes.ApplicationCookie)); } return(claim); }