示例#1
0
        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);
            }
        }
示例#2
0
 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);
         }
     }
 }