Ich versuche, einige REST-API mit Benutzerrollen wie Admin, Superadmin usw. Ich habe versucht, dies zu erreichen, indem Sie feathers-permissions
Modul verwenden, aber es gibt keine Arbeitsbeispiele und das Internet. Haben Sie sich jemals mit einer solchen Aufgabe beschäftigt? Was ich jetzt mache ist: feathers generate app
und dann feathers generate authentication
. Was soll ich als nächstes tun?Benutzerberechtigungen in feathers.js API
Antwort
Das Geheimnis zum Implementieren von Berechtigungen und Rollen in Feathers ist, dass Hooks wirklich alles, was Sie brauchen, mit der Flexibilität, die Sie möchten, bieten. Es ist nicht wirklich notwendig, Zeit für ein separates Modul zu suchen und seine API zu lernen.
Speichern Sie die Berechtigungen (die normalerweise nur Zeichenfolgen sind) in einem Array auf dem Benutzer (oder einem separaten permissions
Dienst basierend auf der Benutzer-ID) und dann in einem before
Haken überprüfen, ob der Benutzer die Operation den Haken ausführen darf wird registriert (hier wird die Erlaubnis messages::create
genannt), und wenn kein Feathers error werfen:
const { Forbidden } = require('feathers-errors');
app.service('messages').hooks({
before: {
create: [ context => {
// `params.provider` is set for any external access
// usually we don't need to check permissions for internal calls
const isExternal = !!context.params.provider;
if(isExternal && !context.params.user.permissions.includes('messages::create')) {
throw new Forbidden('You are not allowed to access this');
}
}]
}
});
Dieses Muster auch für Knoten mit jeder vorhandenen Berechtigungen Modul implementiert werden kann. Weitere Informationen finden Sie in den Blogposts über Access Control Strategies in FeathersJS und Easy API Authorization with CASL and Feathers.
- 1. Authentifizierungsrouten in Feathers.js
- 2. Feathers.js - Laden Statischer Inhalt
- 3. Artifactory-Benutzerberechtigungen
- 4. Wie man ein Anwendungsmodul in feathers.js erstellt?
- 5. feathers.js service.filter ist keine Funktion
- 6. Benutzerberechtigungen für Inhalte in Django
- 7. Microsoft Graph API erhalten Gruppen für Benutzerberechtigungen Fehler gibt
- 8. feathers.js Abonnement Verhalten auf Patch/Update
- 9. Laravel 5 Benutzerberechtigungen
- 10. ElasticSearch/Kibana: schreibgeschützte Benutzerberechtigungen
- 11. Benutzerberechtigungen von django Admin
- 12. AWS-Root-Benutzerberechtigungen
- 13. DRF - Überprüfen Sie Benutzerberechtigungen
- 14. DocumentDB Benutzerberechtigungen - nach Partitionsschlüssel?
- 15. mysql: Benutzerberechtigungen angeben
- 16. Anderenfalls Benutzerberechtigungen yii2
- 17. Rails 4 - Benutzerberechtigungen aktualisieren
- 18. wie man Benutzerberechtigungen gewährt
- 19. Pycharm Debug und Benutzerberechtigungen
- 20. SQL Server Benutzerberechtigungen Audit
- 21. Wie fügt man eine Datei in index.html mit feathers.js ein?
- 22. Cordova Geolocation, warten auf Benutzerberechtigungen
- 23. Benutzerberechtigungen für TFS Build-Server
- 24. Änderung der Benutzerberechtigungen für BigTable
- 25. IIS AppPool Benutzerberechtigungen funktionieren nicht
- 26. Benutzerberechtigungen in serene für Visual Studio
- 27. Überprüfen von Benutzerberechtigungen in Electron auf Mac
- 28. Wie Benutzerberechtigungen in django-tables2 Spalte
- 29. MySQL Web Benutzerberechtigungen Zugriff verweigert
- 30. OctoberCMS Backend Benutzerberechtigungen mit Zweig