Types de middleware
Le middleware dans le développement de logiciels, en particulier dans les applications Web, agit comme un pont entre la logique de base de votre application et le monde externe. Il est responsable de la gestion des tâches comme:
* Authentification: Vérification des informations d'identification des utilisateurs et accordant l'accès.
* Autorisation: Déterminer les ressources auxquelles un utilisateur peut accéder.
* journalisation: Enregistrement des événements et des demandes de débogage et de surveillance.
* Gestion des erreurs: Attraper des exceptions et fournir des réponses gracieuses.
* Validation de la demande: Assurer les données envoyées par le client est valide.
* Limitation du taux: Empêcher les demandes excessives d'une seule adresse utilisateur ou IP.
* Cache: Stockage des données fréquemment consultées pour améliorer les performances.
* CORS (partage de ressources croisées): Activer les demandes de sécurité des originaux.
Voici une ventilation de certains types de middleware communs:
1. Basé sur but:
* Authentification middleware: Vérifie l'identité de l'utilisateur et accorde un accès en fonction des informations d'identification.
* Exemple: Authentification JWT (Token Web JSON), authentification OAuth2.
* Autorisation Middleware: Détermine les privilèges de l'utilisateur et permet d'accéder à des ressources spécifiques.
* Exemple: Contrôle d'accès basé sur les rôles (RBAC), Contrôle d'accès basé sur les ressources (RBAC).
* journalisation middleware: Enregistre les événements et les demandes de débogage et de surveillance.
* Exemple: Winston, Pino, Morgan.
* Gestion des erreurs Middleware: Attrape gracieusement les exceptions et gère les erreurs.
* Exemple: Le gestionnaire d'erreurs intégré d'Express, les gestionnaires d'erreurs personnalisés.
* Demande de validation Middleware: Valide les données envoyées par le client pour assurer son exactitude.
* Exemple: Joi, express-validator.
* Taux limitant les middleware: Limite le nombre de demandes qu'une adresse utilisateur ou IP peut faire dans un délai donné.
* Exemple: Limite de taux express, limite des taux basés sur Redis.
* Middleware de mise en cache: Les magasins ont fréquemment accédé aux données pour une récupération plus rapide.
* Exemple: Redis, memcached.
* CORS Middleware: Permet des demandes d'origine croisée lors de l'application de la sécurité.
* Exemple: CORS, CORS EXPRESS.
* Analyse du corps middleware: Analyse les corps de demande entrants dans des structures de données utilisables.
* Exemple: Parser corporel, Multer.
2. Basé sur l'exécution:
* Middleware de prétraitement: Exécute avant que la demande n'atteigne le gestionnaire d'itinéraire.
* Exemple: Authentification, autorisation, journalisation, validation de la demande.
* middleware post-traitement: Exécute après que le gestionnaire d'itinéraire a traité la demande.
* Exemple: Gestion des erreurs, mise en cache, journalisation (pour les réponses).
3. Basé sur la mise en œuvre:
* middleware intégré: Middleware fourni par le cadre lui-même.
* Exemple: Gestion des erreurs intégrée d'Express, middleware, carrosserie.
* middleware personnalisé: Middleware développé par le développeur pour gérer les besoins spécifiques.
* Exemple: Middleware pour implémenter une stratégie d'authentification personnalisée.
* middleware tiers: Middleware fourni par les bibliothèques externes.
* Exemple: Middleware d'authentification JWT, limite de taux de limitation.
Choisir le middleware droit:
Le type de middleware dont vous avez besoin dépendra des exigences spécifiques de votre application. Considérez vos besoins en matière de sécurité, de performances, de journalisation et de gestion des erreurs.
Exemple:
Imaginez que vous créez une application Web avec l'authentification des utilisateurs. Vous auriez besoin:
* Authentification middleware: Pour vérifier les informations d'identification de l'utilisateur et générer une session ou un jeton.
* Autorisation Middleware: Pour déterminer les ressources auxquelles un utilisateur peut accéder en fonction de son rôle.
* Gestion des erreurs Middleware: Pour gérer les erreurs potentielles pendant l'authentification ou l'autorisation.
En utilisant stratégiquement le middleware, vous pouvez améliorer la sécurité, les performances et la maintenabilité de votre application Web.
|