コード例 #1
0
        public bool Logon(string email, string senha, bool lembrarMe)
        {
            Usuario objUsuario = _usuarioRepository.BuscarPorEmail(email);

            if (objUsuario != null && new Encrypt().Compara(senha, objUsuario.Senha))
            {
                try
                {
                    SessionModel objSessionModel = new Login().ConvertUsuarioParaSessionModel(objUsuario);

                    string sessionSerialized = JsonConvert.SerializeObject(objSessionModel);

                    DateTime lembrarMeDate = DateTime.Now;

                    if (lembrarMe)
                    {
                        lembrarMeDate = lembrarMeDate.AddMonths(1);
                    }
                    else
                    {
                        lembrarMeDate = lembrarMeDate.AddMinutes(30);
                    }

                    FormsAuthenticationTicket objFormsAuthenticationTicket = new
                                                                             FormsAuthenticationTicket
                                                                                 (1,
                                                                                 email,
                                                                                 DateTime.Now,
                                                                                 lembrarMeDate,
                                                                                 false,
                                                                                 sessionSerialized,
                                                                                 FormsAuthentication.FormsCookiePath);

                    string encTicket = FormsAuthentication.Encrypt(objFormsAuthenticationTicket);
                    HttpContext.Current.Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket)
                    {
                        HttpOnly = true
                    });

                    return(true);
                }
                catch (Exception)
                {
                    throw;
                }
            }

            return(false);
        }
コード例 #2
0
        public IActionResult Logar(IFormCollection form)
        {
            UsuarioModel usuario = usuarioRepositorio.BuscarPorEmail(form["uname"]);

            if (usuario != null && usuario.Senha.Equals(form["psw"]))
            {
                System.Console.WriteLine("LOGADO!");
                System.Console.WriteLine($"{usuario.ID}\n{usuario.Nome}\n{usuario.Email}\n{usuario.Senha}\n{usuario.DataNascimento.ToShortDateString()}\n{usuario.Admin}");
                HttpContext.Session.SetString("USER_NOME", usuario.Nome);
                HttpContext.Session.SetString("USER_EMAIL", usuario.Email);
                HttpContext.Session.SetString("USER_ADMIN", usuario.Admin.ToString());
            }
            if (usuario != null)
            {
                if (usuario.Admin)
                {
                    return(RedirectToAction("Index", "Admin"));
                }
                return(RedirectToAction("Index", "Comentarios"));
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }
        }
コード例 #3
0
        public IActionResult Cadastrar(IFormCollection form)
        {
            UsuarioModel       usuario            = new UsuarioModel();
            UsuarioRepositorio usuarioRepositorio = new UsuarioRepositorio();

            usuario.Id            = 1;
            usuario.Nome          = form["nome"];
            usuario.Email         = form["email"];
            usuario.Senha         = form["senha"];
            usuario.Administrador = false;

            if (string.IsNullOrEmpty(usuario.Nome))
            {
                ViewBag.Mensagem = "todos os campos devem ser preechidos";

                return(View());
            }
            if (string.IsNullOrEmpty(usuario.Email))
            {
                ViewBag.Mensagem = "todos os campos devem ser preechidos";

                return(View());
            }

            if (string.IsNullOrEmpty(usuario.Senha))
            {
                ViewBag.Mensagem = "todos os campos devem ser preechidos";

                return(View());
            }



            if (usuarioRepositorio.BuscarPorEmail(usuario.Email) != null)
            {
                ViewBag.Mensagem = "Email já cadastrado";

                return(View());
            }

            usuarioRepositorio.Cadastrar(usuario);

            return(RedirectToAction("Login"));
        }