Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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);
        }