Ich mache eine API, die verschiedene Zugriffsebenen hat, der 'Client' darf nur lesen. Aber 'admin' muss Schreibzugriff haben. Die verschiedenen Rollen werden jedes Mal als Richtlinie in Sails.js überprüft und die Rechte in der req.session festgelegt.Sails.js Authentifizierung für Modellaktionen
Ich muss nur dem "Client" keinen Zugriff zum Erstellen, Aktualisieren und Löschen von Aktionen geben, deshalb habe ich einen Controller erstellt, der diese CRUD-Aktionen hat und prüft, ob der Benutzer die richtige Rolle hat. Alle Aktionen mit eingeschränktem Zugriff werden über routes.js an diesen Controller weitergeleitet.
Jetzt ist mein Problem, wenn ich einen Eintrag wie löschen: Category.destroy (req.param ('id')); Gibt mir undefined und hat keine Methode. Anders als von der Dokumentation erwähnt konnte ich das Problem beheben, indem:
var deleted = Category.destroy(req.param('id'), function(err, status) {
if (status == 1){
res.json({message: 'Category is deleted'});
} else {
res.json({message: 'Oops, something went wrong'});
}
});
Aber es muss einen anderen Weg geben Authentifizierung zu diesen grundlegenden Maßnahmen anzuwenden. Weil ich jetzt alle Aktionen schreiben muss.
Gibt es etwas falsch mit dem Code für die Löschfunktion, die ich geschrieben habe? Und ist es möglich, Richtlinien anzuwenden und auf Standardmodellaktionen umzuleiten, als ob es überhaupt keine Authentifizierung gäbe?
Vielen Dank für Ihre Antwort. Ich denke, dass das Umleiten in den Segeln Teil der nicht richtig funktionierenden Aktionen war. Jetzt mit dem neuen Rewrite funktioniert es wie es sollte. Aber danke für deine Zeit! – Loed