示例#1
0
        public ActionResult Acessar(DTO.Usuario user)
        {
            var login = user.login;
            var senha = user.senha;

            UsuarioBLL usuarioBLL = new UsuarioBLL();
            Usuario    usu        = new Usuario();

            usu = usuarioBLL.Login(login, senha);


            if (usu == null)
            {
                ModelState.AddModelError("Qualquer", "Usuario ou Senha incorrentos ");
                return(View("Index", user));
            }
            else
            {
                return(View("Home"));
            }
        }
        public IHttpActionResult Login(DTO.Usuario usuario)
        {
            if (usuario == null || usuario.Login == null || usuario.Senha == null)
            {
                return(BadRequest());
            }


            Usuario user = _usuarioBLL.Busca(usuario.Login);

            if (user == null)
            {
                return(Unauthorized());
            }
            if (user.Senha != usuario.Senha)
            {
                return(Unauthorized());
            }

            string token = Convert.ToBase64String(Encoding.UTF8.GetBytes(usuario.Login + ":" + usuario.Senha));

            //Verifica se já existe a sessão. Se sim, aumenta a data de expiração, caso contrário, cria uma nova sessão
            Sessao s = _sessaoBLL.FindSessao(token);

            if (s == null)
            {
                _sessaoBLL.AdicionaSessao(new Sessao {
                    Chave = token, LoginUsuario = user.Login, Inicio = DateTime.Now, Fim = DateTime.Now.AddHours(1.0), Login = user.Login
                });
            }
            else
            {
                s.Fim = DateTime.Now.AddHours(1.0);
            }



            return(Ok(token));
        }