Ejemplo n.º 1
0
        private void Logar(IUsuarioApp usuarioApp, ILogApp logApp, LoginFormViewModel model, TipoArea area)
        {
            if (!ModelState.IsValid)
            {
                throw new Exception(Erro);
            }

            var usuario = usuarioApp.ValidarLogin(model, area);

            var log = new Log()
            {
                Action     = "Login",
                Controller = "Login",
                UsuarioId  = usuario.UserId,
                Ip         = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"],
                Area       = area.ToString()
            };

            logApp.SalvarLog(log);
            usuario.LogId = log.Id;

            var userData   = JsonConvert.SerializeObject(usuario);
            var authTicket = new FormsAuthenticationTicket(1, usuario.UserId.ToString(), DateTime.Now,
                                                           DateTime.Now.AddMinutes(30), false, userData);
            var encTicket = FormsAuthentication.Encrypt(authTicket);
            var faCookie  = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);

            Response.Cookies.Add(faCookie);
        }