public static void Login(string email, string senha) { using (Katapoka.BLL.Usuario.UsuarioBLL usuarioBLL = new BLL.Usuario.UsuarioBLL()) { Katapoka.DAO.Usuario_Tb usuario = usuarioBLL.GetByEmail(email); if (usuario == null) { throw new Exception("Usuário não encontrado com o e-mail fornecido."); } if (usuario.DsSenha != Katapoka.BLL.Utilitarios.Criptografia.GetHash(senha)) { throw new Exception("Senha incorreta."); } if (System.Web.HttpContext.Current == null) { throw new Exception("This method should be used only in web applications"); } string calculatedHash = Guid.NewGuid().ToString("N").ToUpper(); System.Web.HttpCookie loginCookie = new HttpCookie("userLogin"); loginCookie.Value = calculatedHash; loginCookie.Expires = DateTime.Now.AddMinutes(Constantes.TempoValidadeLogin); System.Web.HttpContext.Current.Response.Cookies.Add(loginCookie); //Cria cookie login usuario.DsHashLogin = calculatedHash; usuario.DtValidadeLogin = DateTime.Now.AddMinutes(Constantes.TempoValidadeLogin); usuarioBLL.Save(usuario); } }
public static void Logout() { using (Katapoka.BLL.Usuario.UsuarioBLL usuarioBLL = new BLL.Usuario.UsuarioBLL()) { if (System.Web.HttpContext.Current != null && System.Web.HttpContext.Current.Request.Cookies["userLogin"] != null) { string hashLogin = System.Web.HttpContext .Current.Request.Cookies["userLogin"].Value.ToString(); if (!string.IsNullOrWhiteSpace(hashLogin)) { Katapoka.DAO.Usuario_Tb usuario = usuarioBLL.GetByHashLogin(hashLogin); if (usuario != null) { usuario.DtValidadeLogin = DateTime.Now.AddDays(-1); usuario.DsHashLogin = Guid.NewGuid().ToString("N").ToUpper(); usuarioBLL.Save(usuario); } } System.Web.HttpContext.Current.Response.Cookies["userLogin"].Expires = DateTime.Now.AddDays(-1); } } }