Ich versuche eine Middleware zu erstellen, die Parameter akzeptieren kann. Wie kann das gemacht werden?
Beispiel
app.get('/hasToBeAdmin', HasRole('Admin'), function(req,res){
})
HasRole = function(role, req, res, next){
if(role != user.role){
res.redirect('/NotInRole);
}
next();
}
Antworten:
Ich möchte auch sicherstellen, dass ich nicht mehrere Kopien derselben Funktion erstelle:
quelle
app.get('/a', hasRole('admin'))
undapp.get('/b', hasRole('admin'))
würde für jeden einen neuen Abschluss erstellenhasRole
. Dies ist realistisch gesehen nicht allzu wichtig, es sei denn, Sie haben eine wirklich große Anwendung. Ich codiere nur standardmäßig so.quelle
Alternativ, wenn Sie nicht zu viele Fälle haben oder wenn die Rolle KEINE Zeichenfolge ist:
quelle
Wenn Sie über verschiedene Berechtigungsstufen verfügen, können Sie diese folgendermaßen strukturieren:
quelle