public IActionResult LoginDigital([FromBody] IotDto iotDto,
                                          [FromServices] SigningConfigurations signingConfigurations,
                                          [FromServices] TokenConfigurations tokenConfigurations)
        {
            string digital = iotDto.Digital;

            if (string.IsNullOrEmpty(digital))
            {
                ModelState.AddModelError("Digital", "A digital deve ser fornecida");
                return(BadRequest(ModelState));
            }

            UsuarioDomain usuario   = _repo.LoginDigital(digital);
            int           empresaId = _repo.EmpresaId(usuario);
            string        setor     = _repo.Setor(usuario);

            if (usuario == null)
            {
                return(NotFound(digital));
            }

            var token = new TokenLogin().GerarToken(usuario, empresaId, setor, signingConfigurations, tokenConfigurations);

            return(Ok(token));
        }
        public void OnAuthorization(AuthorizationContext filterContext)
        {
            RouteData rd         = filterContext.RouteData;
            string    controller = rd.GetRequiredString("controller");
            string    action     = rd.GetRequiredString("action");

            ////////////////////////////////////////
            // Bypass if this action has excluded the RequestAuthorize filter
            // aka allow anonymous access
            ////////////////////////////////////////

            var filters = FilterProviders.Providers.GetFilters(filterContext.Controller.ControllerContext, filterContext.ActionDescriptor);

            if (!filters.Select(filter => filter.Instance.GetType()).Contains(typeof(RequestAuthorizeAttribute)))
            {
                return;
            }

            ////////////////////////////////////////
            // Login by token
            ////////////////////////////////////////

            string token = filterContext.RequestContext.HttpContext.Request.QueryString.Get("token");

            if (token != null)
            {
                var urlHelper = new UrlHelper(filterContext.RequestContext);
                if (TokenLogin.ValidateToken(token))
                {
                    return;
                }

                HandleUnauthorizedRequest(filterContext);
            }

            ////////////////////////////////////////
            // Normal request
            ////////////////////////////////////////

            if (RequestPermissionProvider.LoginRequired.Contains(controller))
            {
                if (!CurrentUser.IsAuthenticated)
                {
                    HandleUnauthorizedRequest(filterContext);
                }
            }
            else
            {
                if (!CurrentUser.IsAuthenticated)
                {
                    HandleUnauthorizedRequest(filterContext);
                }
                else if (!CurrentUser.HasPermission(controller, action) && !MvcHelper.CheckActionIsAjaxOnly(controller, action))
                {
                    HandleUnauthorizedRequest(filterContext);
                }
            }
            SetLanguages();
        }
        public IActionResult AtualizarIot([FromBody] UsuarioDto usuarioDto,
                                          [FromServices] SigningConfigurations signingConfigurations,
                                          [FromServices] TokenConfigurations tokenConfigurations)
        {
            string rfid    = usuarioDto.Rfid;
            string digital = usuarioDto.Digital;

            if (string.IsNullOrEmpty(rfid) && string.IsNullOrEmpty(digital))
            {
                ModelState.AddModelError("Rfid", "O RfId ou a Digital deve ser fornecida");
                ModelState.AddModelError("Digital", "O RfId ou a Digital deve ser fornecida");
                return(BadRequest(ModelState));
            }

            // fazer login
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            UsuarioDomain usuario = _repo.LoginUsuario(usuarioDto.Email, usuarioDto.Senha);

            // se não existir, falha no login
            if (usuario == null)
            {
                return(Unauthorized());
            }

            if (string.IsNullOrEmpty(digital))
            {
                // se existir, atualiza o rfid com o fornecido
                int s = _repo.AtualizarRfid(rfid, usuario);

                if (s == 0)
                {
                    return(BadRequest("Problema ao tentar atualizar o RfId"));
                }
            }
            else
            {
                // se existir, atualiza o rfid com o fornecido
                int s = _repo.AtualizarDigital(digital, usuario);

                if (s == 0)
                {
                    return(BadRequest("Problema ao tentar atualizar a Digital"));
                }
            }

            // gerar token
            int    empresaId = _repo.EmpresaId(usuario);
            string setor     = _repo.Setor(usuario);
            var    token     = new TokenLogin().GerarToken(usuario, empresaId, setor, signingConfigurations, tokenConfigurations);

            // retornar Ok(token)
            return(Ok(token));
        }
Beispiel #4
0
        public IActionResult Authenticate([FromBody] TokenLogin userParam)
        {
            var user = _userService.Authenticate(userParam.Username, userParam.Password);

            if (user == null)
            {
                return(BadRequest(new { message = "Username or password is incorrect" }));
            }
            return(Ok(user));
        }
 private bool ValidarUsuario(TokenLogin login)
 {
     if (login.Usuario == "Eschechola" && login.Senha == "api123321")
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
 private bool ValidarUsuario(TokenLogin login)
 {
     if (login.Usuario == "Ketlyn" && login.Senha == "proxys1")
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
        public IActionResult Login([FromBody] TokenLogin login)
        {
            bool resultado = ValidarUsuario(login);

            if (resultado)
            {
                var tokenString = GerarToken();
                return(Ok(new TokenRetorno {
                    Token = tokenString, DataTokenGerado = DateTime.Now
                }));
            }
            else
            {
                return(Unauthorized());
            }
        }
Beispiel #8
0
 /// <summary>
 /// Get IdAccount đang login
 /// Author       :   QuyPN - 26/05/2018 - create
 /// </summary>
 /// <returns>
 /// IdAccount nếu tồn tại, trả về 0 nếu không tồn tại
 /// </returns>
 public static int GetIdAccount()
 {
     try
     {
         string      token      = Common.GetCookie("token");
         DataContext context    = new DataContext();
         TokenLogin  tokenLogin = context.TokenLogin.FirstOrDefault(x => x.Token == token && x.ThoiGianTonTai >= DateTime.Now && !x.DelFlag);
         if (tokenLogin == null)
         {
             return(0);
         }
         return(tokenLogin.Account.Id);
     }
     catch
     {
         return(0);
     }
 }
Beispiel #9
0
        public IActionResult Login([FromBody] UsuarioDto usuarioDto,
                                   [FromServices] SigningConfigurations signingConfigurations,
                                   [FromServices] TokenConfigurations tokenConfigurations)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            UsuarioDomain usuario = _repo.LoginUsuario(usuarioDto.Email, usuarioDto.Senha);

            if (usuario == null)
            {
                return(Unauthorized());
            }

            var token = new TokenLogin().GerarToken(usuario, signingConfigurations, tokenConfigurations);

            return(Ok(token));
        }
        public IActionResult LoginRfid([FromBody] IotDto iotDto,
                                       [FromServices] SigningConfigurations signingConfigurations,
                                       [FromServices] TokenConfigurations tokenConfigurations)
        {
            string rfid    = iotDto.Rfid;
            string digital = iotDto.Digital;


            UsuarioDomain usuario   = _repo.LoginRfid(rfid, digital);
            int           empresaId = _repo.EmpresaId(usuario);
            string        setor     = _repo.Setor(usuario);

            if (usuario == null)
            {
                return(NotFound(rfid));
            }

            var token = new TokenLogin().GerarToken(usuario, empresaId, setor, signingConfigurations, tokenConfigurations);

            return(Ok(token));
        }
Beispiel #11
0
        public IActionResult LoginRfid([FromBody] IotDto iotDto,
                                       [FromServices] SigningConfigurations signingConfigurations,
                                       [FromServices] TokenConfigurations tokenConfigurations)
        {
            string rfid = iotDto.Rfid;

            if (string.IsNullOrEmpty(rfid))
            {
                ModelState.AddModelError("Rfid", "O RfId deve ser fornecido");
                return(BadRequest(ModelState));
            }

            UsuarioDomain usuario = _repo.LoginRfid(rfid);

            if (usuario == null)
            {
                return(NotFound(rfid));
            }

            var token = new TokenLogin().GerarToken(usuario, signingConfigurations, tokenConfigurations);

            return(Ok(token));
        }
Beispiel #12
0
 /// <summary>
 /// Get IdAccount đang login
 /// Author       :   QuyPN - 26/05/2018 - create
 /// </summary>
 /// <returns>
 /// IdAccount nếu tồn tại, trả về 0 nếu không tồn tại
 /// </returns>
 public static int GetIdAccount()
 {
     try
     {
         var cookieToken = HttpContext.Current.Request.Cookies["token"];
         if (cookieToken == null)
         {
             return(0);
         }
         var         base64EncodedBytes = System.Convert.FromBase64String(HttpUtility.UrlDecode(cookieToken.Value));
         string      token      = System.Text.Encoding.UTF8.GetString(base64EncodedBytes);
         DataContext context    = new DataContext();
         TokenLogin  tokenLogin = context.TokenLogin.FirstOrDefault(x => x.Token == token && x.ThoiGianTonTai >= DateTime.Now && !x.DelFlag);
         if (tokenLogin == null)
         {
             return(0);
         }
         return(tokenLogin.Account.Id);
     }
     catch
     {
         return(0);
     }
 }