示例#1
0
        //[DeflateCompression]
        public IHttpActionResult GetUserForName(string nome)
        {
            try
            {
                Configuration.Services.GetTraceWriter().Info(
                    Request, "UsuarioController", "Lista de usuários paginada.");

                return(Ok(UsuarioService.ListaUsuarioPorNome(nome)));
            }
            catch (Exception ex)
            {
                #region log

                LogService.CriaLogMongo(new LogModel
                {
                    Classe     = "UsuarioModel",
                    Controller = "UsuarioController",
                    Data       = DateTime.Now,
                    Linha      = 190,
                    Mensagem   = "Erro:" + ex.Message + ex.StackTrace,
                    Metodo     = "Busca usuario por nome",
                    Tipo       = Tipo.Erro,
                    QtdeRegistrosRetornados = 0
                });

                #endregion log

                return(Content(HttpStatusCode.BadRequest, "Erro: " + ex.Message));
            }
        }
        public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
        {
            var header = context.OwinContext.Response.Headers.SingleOrDefault(h => h.Key == "Access-Control-Allow-Origin");

            if (header.Equals(default(KeyValuePair <string, string[]>)))
            {
                context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { "*" });
            }

            UsuarioService.AdicionaUsuarioMaster();

            var user = UsuarioService.Autentica(context.Password, context.UserName);

            if (user == null)
            {
                #region Log
                LogService.CriaLogMongo(new LogModel
                {
                    Classe     = "SimpleAuthorizationServerProvider",
                    Controller = "",
                    Data       = DateTime.Now,
                    Linha      = 29,
                    Mensagem   = "Usuário não encontrado: " + context.UserName,
                    Metodo     = "GrantResourceOwnerCredentials",
                    Tipo       = Tipo.Erro,
                    QtdeRegistrosRetornados = 0
                });
                #endregion

                context.SetError("invalid_grant", "The user name or password is incorrect.");
                return;
            }

            var identity = new ClaimsIdentity(context.Options.AuthenticationType);
            identity.AddClaim(new Claim("sub", context.UserName));
            identity.AddClaim(new Claim("role", "user"));

            context.Validated(identity);

            #region Log
            LogService.CriaLogMongo(new LogModel
            {
                Classe     = "SimpleAuthorizationServerProvider",
                Controller = "",
                Data       = DateTime.Now,
                Linha      = 29,
                Mensagem   = "Usuário Autorizado: " + context.UserName + " AuthenticantionType: " + identity.AuthenticationType + " IsAuthenticated: " + identity.IsAuthenticated,
                Metodo     = "GrantResourceOwnerCredentials",
                Tipo       = Tipo.Info,
                QtdeRegistrosRetornados = 1
            });
            #endregion
        }
示例#3
0
        //[DeflateCompression]
        public async Task <IHttpActionResult> GetUsers(int page, int size)
        {
            try
            {
                Configuration.Services.GetTraceWriter().Info(
                    Request, "UsuarioController", "Lista de usuários paginada.");

                var result = await UsuarioService.ListaDeUsuariosPaginadosAsync(page, size);

                #region Log

                LogService.CriaLogMongo(new LogModel
                {
                    Classe     = "UsuarioModel",
                    Controller = "UsuarioController",
                    Data       = DateTime.Now,
                    Linha      = 42,
                    Mensagem   = "Retornou lida de usario paginado: " + page + "/" + size,
                    Metodo     = "listadeusuariospaginado",
                    Tipo       = Tipo.Info,
                    QtdeRegistrosRetornados = result.Count
                });

                #endregion Log

                return(Ok(result));
            }
            catch (Exception ex)
            {
                #region log

                LogService.CriaLogMongo(new LogModel
                {
                    Classe     = "UsuarioModel",
                    Controller = "UsuarioController",
                    Data       = DateTime.Now,
                    Linha      = 42,
                    Mensagem   = "Erro:" + ex.Message + ex.StackTrace,
                    Metodo     = "listadeusuariospaginado",
                    Tipo       = Tipo.Erro,
                    QtdeRegistrosRetornados = 0
                });

                #endregion log

                return(Content(HttpStatusCode.BadRequest, "Erro: " + ex.Message));
            }
        }
示例#4
0
        public async Task <IHttpActionResult> PostUsers(UsuarioModel usuario)
        {
            try
            {
                Configuration.Services.GetTraceWriter().Info(
                    Request, "UsuarioController", "Lista de usuários paginada.");

                var addusuario = await UsuarioService.NovoUsuario(usuario);

                #region log

                LogService.CriaLogMongo(new LogModel
                {
                    Classe     = "UsuarioModel",
                    Controller = "UsuarioController",
                    Data       = DateTime.Now,
                    Linha      = 42,
                    Mensagem   = "Usuário adicionado: " + JsonConvert.SerializeObject(usuario),
                    Metodo     = "PostUsers",
                    Tipo       = Tipo.Erro,
                    QtdeRegistrosRetornados = 1
                });

                #endregion log

                return(Content(HttpStatusCode.Created, "Usuário adicionado"));
            }
            catch (Exception ex)
            {
                #region log

                LogService.CriaLogMongo(new LogModel
                {
                    Classe     = "UsuarioModel",
                    Controller = "UsuarioController",
                    Data       = DateTime.Now,
                    Linha      = 137,
                    Mensagem   = "Erro:" + ex.Message + ex.StackTrace,
                    Metodo     = "PostUsuarios",
                    Tipo       = Tipo.Erro,
                    QtdeRegistrosRetornados = 0
                });

                #endregion log

                return(Content(HttpStatusCode.BadRequest, "Erro: " + ex.Message));
            }
        }