Esempio n. 1
0
        public async Task <ActionResult> Login([FromBody] UsuarioLoginArgs login)
        {
            UsuarioAutenticadoViewModel usuario = await _usuarioQueries.AutenticarUsuario(login);

            if (usuario != null)
            {
                return(ResponseBase(usuario));
            }

            NotifyError("Usuario e/ou senha invalidos");
            return(ResponseBase());
        }
Esempio n. 2
0
        public UsuarioAutenticadoViewModel CreateUsuarioAutenticado(string token, Usuario usuario)
        {
            var usuarioViewModel = _mapper.Map <UsuarioViewModel>(usuario);

            var usuarioAutenticadoViewModel = new UsuarioAutenticadoViewModel
            {
                Token            = token,
                UsuarioViewModel = usuarioViewModel
            };

            return(usuarioAutenticadoViewModel);
        }
        public ActionResult Login(UsuarioLoginViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Usuario u = repository.Find(model.Login, Criptografia.EncriptarSenhaMD5(model.Senha));
                    if (u != null)
                    {
                        UsuarioAutenticadoViewModel auth = new UsuarioAutenticadoViewModel();

                        auth.IdUsuario      = u.IdUsuario;
                        auth.Nome           = u.Nome;
                        auth.Login          = u.Login;
                        auth.Foto           = u.Foto;
                        auth.DataHoraAcesso = DateTime.Now;

                        //converter o objeto para JSON..
                        string authJSON = JsonConvert.SerializeObject(auth);

                        //criar o ticket de acesso..
                        FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(authJSON, false, 60);

                        //gravar o ticket em cookie..
                        HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(ticket));

                        Response.Cookies.Add(cookie);

                        //return Json(new { redirectTo = Url.Action("Index", "Principal", new { area = "RestrictArea" }), }, JsonRequestBehavior.AllowGet);
                        return(RedirectToAction("Index", "Home",
                                                new { area = "AreaRestrita" }));
                    }
                    else
                    {
                        ViewBag.Mensagem = "Acesso negado. Usuário não encontrado.";
                    }
                }
                catch (Exception e)
                {
                    ViewBag.Mensagem = e.Message;
                }
            }

            return(View());
        }
Esempio n. 4
0
        public HttpResponseMessage GetData()
        {
            try
            {
                Usuario u = JsonConvert.DeserializeObject <Usuario>(User.Identity.Name);

                UsuarioAutenticadoViewModel model = new UsuarioAutenticadoViewModel();

                model.IdUsuario = u.IdUsuario;
                model.Nome      = u.Nome;
                model.Login     = u.Login;

                return(Request.CreateResponse(HttpStatusCode.OK, model));
            }
            catch (Exception e)
            {
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, e.Message));
            }
        }
Esempio n. 5
0
        private void GerarToken(UsuarioAutenticadoViewModel usuario)
        {
            Claim[] claims = new Claim[] {
                new Claim(ClaimTypes.NameIdentifier, usuario.Id.ToString()),
                new Claim(ClaimTypes.Name, usuario.Nome.ToString()),
                new Claim(ClaimTypes.Email, usuario.Email.ToString()),
            };
            JwtSecurityTokenHandler tokenHandler = new JwtSecurityTokenHandler();

            byte[]   key       = Encoding.ASCII.GetBytes(_appSettings.Chave);
            DateTime ExpiresIn = DateTime.UtcNow.AddHours(_appSettings.ExpiracaoHoras);
            SecurityTokenDescriptor tokenDescriptor = new SecurityTokenDescriptor
            {
                Issuer             = _appSettings.Emissor,
                Audience           = _appSettings.ValidoEm,
                Subject            = new ClaimsIdentity(claims),
                Expires            = ExpiresIn,
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
            };
            SecurityToken token        = tokenHandler.CreateToken(tokenDescriptor);
            string        encodedToken = tokenHandler.WriteToken(token);

            usuario.Token = encodedToken;
        }