L'autorisation standard basée sur les rôles dans .NET Core vérifie si un utilisateur peut effectuer une action, mais souvent pas si l'utilisateur devrait accéder à une ressource spécifique. Cette lacune conduit à une escalade horizontale des privilèges, où des utilisateurs authentifiés peuvent lire ou modifier des données appartenant à d'autres. L'article explore comment implémenter l'autorisation basée sur les ressources en utilisant IAuthorizationService intégré et des gestionnaires personnalisés. Il démontre une approche en couches : d'abord vérifier les permissions fonctionnelles (l'utilisateur peut-il appeler cet endpoint ?), puis vérifier les permissions sur les ressources (l'utilisateur possède-t-il cet enregistrement ?). Ce modèle est particulièrement pertinent pour les plateformes SaaS multi-locataires, les systèmes de santé et les applications financières où l'isolation des données est critique. L'auteur discute également des points d'extension, tels que l'intégration avec l'autorisation basée sur des politiques et la gestion de hiérarchies de propriété complexes. Pour les équipes d'ingénierie, adopter ce modèle réduit les frais de revue de sécurité et fournit un chemin clair et testable pour appliquer des règles d'accès aux données de manière cohérente.
Apprenez à étendre le pipeline d'autorisation de .NET Core pour appliquer des permissions au niveau des ressources et empêcher l'escalade horizontale des privilèges dans les applications sensibles aux données.