Plongée en profondeur dans le ... Note

Plongée en profondeur dans le framework Rhino : Partie 2 (Autorisation et CrudController)

Rhino utilise Devise pour gérer l'authentification des utilisateurs via des méthodes basées sur des jetons, assurant la vérification de l'identité des utilisateurs. L'autorisation est gérée par Pundit et Rolify, sécurisant les points de terminaison de l'API et définissant les permissions des utilisateurs. Le module `rhino_organizations` intègre rolify pour un contrôle d'accès basé sur les rôles sophistiqué. La sécurité de Rhino est construite sur le principe du "refus par défaut", le Principe du moindre privilège. CrudController utilise Devise, Pundit et Rolify pour appliquer les règles d'autorisation. Le framework utilise `authorize` dans les actions pour initialiser les contrôles d'autorisation. CrudPolicy fonctionne comme un répartiteur, dirigeant l'autorisation vers des politiques spécifiques basées sur les rôles. Le même modèle de répartiteur est appliqué pour la délimitation des données afin d'éviter les fuites de données. Rhino utilise des instructions UNION pour agréger les résultats de la portée de tous les rôles de l'utilisateur. Rhino utilise CrudPolicy pour contrôler le flux d'autorisation des actions CRUD. Cette architecture assure un développement d'API robuste et sécurisé.