lunes, 11 de mayo de 2020
Cuando una petición retorna un código de estado HTTP 403 (Forbidden), quiere decir que ésta fue realizada correctamente, pero el cliente no está autorizado para acceder al recurso o servicio que se intenta utilizar. Quizás porque la petición no incluyó las credenciales correctas, o tal vez porque eran insuficientes para acceder a él, pero la petición no debe ser repetida porque el resultado será el mismo.
A veces se confunde con el HTTP 401, pero son muy diferentes:
A veces se confunde con el HTTP 401, pero son muy diferentes:
- HTTP 401 (Unauthorized) indica, a pesar de su nombre, un problema de autenticación, y debe evaluarse antes de decidir si el usuario tiene acceso o no al recurso concreto.
- HTTP 403 (Forbidden) indica un problema de autorización, y es más específico que el anterior porque indica que el servidor sabe quién es el cliente y conoce el recurso al que intenta acceder, pero decide que no está autorizado a hacerlo.
Por si te lo perdiste...
-
Hace unos días me entrevistaron en la Resistencia Tecnológica, el divertido programa de Crossdvlup guiado por Alberto Díaz (@adiazcan), David Vidal (@D_Vid_45) y Sergio Hernández (@shmancebo). Algo más de hora y media charlando sobre la vida, el blog, ASP.NET, Blazor y algunas otras cosillas, que podéis ver en Youtube.
Aparte, os recomiendo suscribiros al canal y echar un vistazo a los programas anteriores, porque podréis encontrar temas muy interesantes y personajes ilustres :)
.NET Core / .NET
- Shallow Copy y Deep Copy en C#
Jorge Serrano - C# Source Generators: Less Boilerplate Code, More Productivity
Jason Roberts - Unit testing a Roslyn Analyzer
Antão Almada - Cómo ejecutar pruebas de código dentro de contenedores Docker
Jorge Turrado - How to implement full-text search in .Net application with Elasticsearch
Daniele Fontani - .NET Portability Analyzer
Derek Comartin - Ping a Server Using C#
Khalid Abuhakmeh - Post-Build Events and .NET Core & Cross-Platform Build Events in .NET Core using MSBuild
Jeremy Clark - Static Constructor Failures and Declaration Order
Rick Strahl - C# 8.0 nullable references: getting started in an existing codebase
Ian Griffiths - Ignore Specific files for a target framework on C#
Tsuyoshi Ushio - C#8 Using Declarations With FluentAssertions
Adam Storr
ASP.NET Core / ASP.NET
- Dynamic Routing in ASP.NET Core 3
Ricardo Peres - Drag Drop File Upload Blazor
Bradley Wells - Razor Pages in ASP .NET Core 3.1
Shahed Chowdhuri - Using Razor Class Library (RCL) to generate a common UI for all your dotnet web projects
Emmanuel D. - Debugging Mysterious 500 Internal Server Errors
Rajiv Popat - Auto Saving Form Data in Blazor
Chris Sainty - Using jQuery and Bootstrap from a CDN with fallback scripts in ASP.NET Core 3.0
Andrew Lock - Easiest Way to OCR Process PDF Documents in ASP.NET Core
Praveen Kumar - Buidling a conditional caching middleware instead of an attribute in ASP.NET Core 3.1
Anthony Giretti - Is Asynchronous The Best Way To Go in ASP.NET Core?
David Grace - ASP.Net 5 – pass parameters to actions
Michał Białecki
Azure / Cloud
- Building an Real Time Event Processor – Part 1
Jason Farrell - Configure a domain for an Azure App Service using Cloudflare
Damien Bowden - Azure Service Bus .NET SDK Deep Dive – Runtime Information
Daniel Marbach - How does Azure Key Vault help me secure my data?
Carmel Eve
Conceptos / Patrones / Buenas prácticas
- Patterns for Managing Source Code Branches
Martin Fowler - HTTP/3 deep dive
Ably
Data
- Using PredicateBuilder with EF Core for Complex Queries
Mitchel Sellers - Creating Flexible Queries with Parameters in GraphQL
Peter Vogel - Entity Framework Core 5 vs SQLBulkCopy
Michał Białecki - Conditionally Apply LINQ Clauses
Khalid Abuhakmeh
Machine learning / IA / Bots
- Using ML.NET for deep learning on images in Azure
Luis Quintanilla - How can you help customers not to touch things with Artificial Intelligence?
Ivana Tilca
Web / HTML / CSS / Javascript
- Cómo evitar que se pueda seleccionar contenido en una página web sin usar JavaScript (sólo con CSS)
José Manuel Alarcón - How do Browsers work?
Bibek Shah - Measuring the Performance of JavaScript Functions
Felix Gerschau - Creating an Accessible Range Slider with CSS
Lindsey Kopacz lh
andrlh
units
Chris Coyier- Generating A Word Search Puzzle Grid In Angular 9.1.4
Ben Nadel - 7 Svelte features that bring me joy
Jesse Skinner - 8 Must Know Javascript Array Methods
Shoaib Sayyed - List Style Recipes
Chris Coyier - Building hover menus in CSS
Kenneth Reilly - Drawing with FabricJS and TypeScript Part 7: Undo/Redo
Matthew Jones - 9 Tricks To Write Less JavaScript.
Shoaib Sayyed - A Complete Guide to CSS Functions
Eric Bailey - Adding Chrome push notifications to web applications
Anuraj Parameswaran - Facial Recognition System with JavaScript
Oni Stephen - Let's Take a Deep Dive Into the CSS Contain Property
Travis Almand - The Reasons why you should learn Svelte & use it for your Applications.
Demonicious
Visual Studio / Complementos / Herramientas
- Aplicaciones con estado en Kubernetes con StatefulSets & * Depurar aplicaciones en Kubernetes con Azure Dev Spaces y Visual Studio Code & Administrar los recursos para tus contenedores en Kubernetes
Gisela Torres - Github: mucho más que un simple almacén de código fuente
Jorge Turrado - Ejecutar múltiples combinaciones de parámetros en un solo workflow de GitHub Actions
Gisela Torres - 3 Tips for Adding Security to CI/CD Pipelines
Andrew Charbonneau - Configuring Azure Services and emulators using Visual Studio
Angelos Petropoulos - Git in Azure DevOps
Gouri Sohoni - Heap Views in Visual Studio
Mark Downie - Docker Desktop: WSL 2 Best practices
Peter McKee - Decompilation support in OmniSharp and C# Extension for VS Code
Filip Woj
Xamarin
- Xamarin.Forms Custom Fonts Simplified & Everywhere
James Montemagno - SomeTips: Best practices for UI Handling!
Leomaris Reyes - Removing xaml.cs with C# Source Generators
Michael Esteves - Contact Sharing in Xamarin Forms
Charlin Agramonte - Animate Anything with Xamarin.Forms
James Montemagno - Exposure Notification API Support for Xamarin Apps
Jon Dick - Icon Fonts made Easy
Dan Siegel - Implementation of the Cognitive Services + Xamarin Combo Challenge!
Bohdan Benetskyi - Crashes and errors analytics with App Center and Application Insights
John Thiriet
Otros
- Cómo configurar y crear eventos online con Microsoft Teams
Jorge Serrano - A Complete Guide To Mechanical Keyboards
Ben Frain - Significant whitespace is DRY
Mark Seemann
Aún no hay comentarios, ¡sé el primero!
Enviar un nuevo comentario