Esempio n. 1
0
        public async Task <ActionResult> Login(LoginModel model)
        {
            if (ModelState.IsValid)
            {
                SmsServiceUser user = await Usermanager.FindAsync(model.Login, model.Password);

                if (user == null)
                {
                    ModelState.AddModelError(String.Empty, "Неверный логин или пароль");
                }
                else
                {
                    ClaimsIdentity claims =
                        await Usermanager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie);

                    AuthenticationManager.SignOut();
                    AuthenticationManager.SignIn(new AuthenticationProperties
                    {
                        IsPersistent = true
                    }, claims);


                    //if (Request.UrlReferrer != null) return Redirect(Request.UrlReferrer.ToString());

                    return(RedirectToAction("Index", "Home"));
                }
            }

            return(View(model));
        }
Esempio n. 2
0
        public async Task <ActionResult> Register(RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                SmsServiceUser user = new SmsServiceUser
                {
                    UserName = model.Nickname,
                    Email    = model.Email
                };

                IdentityResult result = await Usermanager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    var role = RoleManager.FindByName("admin");
                    Usermanager.AddToRole(user.Id, role.Name);
                    return(RedirectToAction("Index", "Home"));
                }

                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError(String.Empty, error);
                }
            }

            return(View(model));
        }