Wir haben eine Anwendung, die zwei Arten von Benutzern hat. Abhängig davon, wie sich der Benutzer anmeldet, möchten wir, dass er Zugriff auf verschiedene Teile der Anwendung hat.
Wie implementieren wir ein Sicherheitsmodell, um zu verhindern, dass Benutzer Dinge sehen, auf die sie keinen Zugriff haben?
Machen wir die Sicherheit zu einem Teil jeder Routenimplementierung? Das Problem ist, dass wir über Anfragen hinweg eine doppelte Logik haben werden. Wir könnten dies in Hilfsfunktionen verschieben, aber wir müssten immer noch daran denken, es aufzurufen.
Machen wir Sicherheit zu einem Teil eines globalen app.all () -Routenhandlers? Das Problem ist, dass wir jede Route überprüfen und unterschiedliche Logik basierend auf einer Vielzahl von Regeln ausführen müssen. Zumindest befindet sich der gesamte Code an einem Ort, aber dann ... befindet sich der gesamte Code an einem Ort.
requireRole
stattdessen ein Array nehmen? Und erkundigen Sie sich beiindexOf
.Sie können Capability-Js mit Everyauth verwenden, was CanCan for Rails https://github.com/scottkf/ability-js sehr ähnlich ist
quelle
Sehen Sie sich diese Liste für NodeJS ACL / Permission-Systeme an. IMHO OptimalBits node_acl sieht am besten aus.
quelle
Hierfür gibt es jetzt die Berechtigung des Knotenmoduls. Es ist sehr einfach zu bedienen, sehr ähnlich zu akzeptierten Antworten, aber es werden noch einige Funktionen hinzugefügt.
quelle