コード例 #1
0
        public ActionResult Login(string ReturnUrl)
        {
            var viewsModels = new LoginViewsModels
            {
                UrlRetorno = ReturnUrl
            };

            return(View(viewsModels));
        }
コード例 #2
0
        public ActionResult Login(LoginViewsModels viewsModels)
        {
            if (!ModelState.IsValid)
            {
                return(View(viewsModels));
            }
            ;

            var usuario = db.Usuarios.FirstOrDefault(
                u => u.Login == viewsModels.Login);


            if (usuario == null)
            {
                ModelState.AddModelError("login", "falhou na missao");
                return(View(viewsModels));
            }

            if (usuario.Senha != Hash.GerarHash(viewsModels.Senha))
            {
                ModelState.AddModelError("Senha", "Login ou senha incorreto");
                return(View(viewsModels));
            }

            var identity = new ClaimsIdentity(new[]

            {
                new Claim("Login", usuario.Login)
            }, "ApplicationCookie"
                                              );

            Request.GetOwinContext().Authentication.SignIn(identity);

            if (!String.IsNullOrWhiteSpace(viewsModels.UrlRetorno) || Url.IsLocalUrl(viewsModels.UrlRetorno))
            {
                return(Redirect(viewModel.UrlRetorno));
            }
            else
            {
                return(RedirectToAction("index", "painel"));
            }
        }