RSS DEV-Gemeinschaft
Folgen
Ein tiefer Einblick in das Rhino Framework: Teil 2 (Autorisierung und der CrudController)
Rhino verwendet Devise, um die Benutzerauthentifizierung über tokenbasierte Methoden zu handhaben und so die Überprüfung der Benutzeridentität sicherzustellen. Die Autorisierung wird von Pundit und Rolify verwaltet, wodurch API-Endpunkte gesichert und Benutzerberechtigungen definiert werden. Das Modul `rhino_organizations` integriert Rolify für eine ausgefeilte rollenbasierte Zugriffskontrolle. Die Sicherheit von Rhino basiert auf dem Prinzip "Ablehnen per Voreinstellung", dem Prinzip der geringsten Privilegien. CrudController nutzt Devise, Pundit und Rolify, um Autorisierungsregeln durchzusetzen. Das Framework verwendet `authorize` innerhalb von Aktionen, um Autorisierungsprüfungen zu initialisieren. CrudPolicy fungiert als Dispatcher und leitet die Autorisierung an spezifische rollenbasierte Richtlinien weiter. Dasselbe Dispatcher-Muster wird für das Data Scoping angewendet, um Datenlecks zu verhindern. Rhino verwendet UNION-Anweisungen, um die Scope-Ergebnisse aus allen Rollen des Benutzers zu aggregieren. Rhino verwendet CrudPolicy, um den Autorisierungsfluss von CRUD-Aktionen zu steuern. Diese Architektur gewährleistet eine robuste und sichere API-Entwicklung.