2017-05-22 9 views
0

Ich habe meinen CRUD Blog mit nodejs + express.js beendet, aber das einzige, was ich brauche, ist jedes Mal, wenn ich nach 'post /: id/edit' oder 'post/new' gehe Admin-Benutzer, um mit dieser Anfrage fortzufahren. Dies soll verhindern, dass ein Benutzer einen Beitrag in meinem Blog erstellen kann.nodejs - CRUD mit Benutzerberechtigung

Wie kann ich das erreichen? Ich konnte nichts darüber finden. Und ich brauche keine CRUD für Benutzer, weil ich der einzige sein werde, der Post erstellt/bearbeitet.

Dank

+3

Sie können [Passport.js] (http://passportjs.org/) Bibliothek f verwenden oder Benutzerauthentifizierung/-autorisierung in der Anwendung node.js. – Lekhnath

Antwort

0
  • Wie oben im Kommentar erwähnt, verwendet passport.js den Authentifizierungsteil zu erstellen.
  • Sobald Sie das tun, müssen Sie eine Middleware erstellen, um sicherzustellen, dass der Benutzer die Berechtigung hat, einen bestimmten Fall zu behandeln. Da Sie Node.js und Express.js verwenden, wird dieser Teil sehr einfach sein.
Angenommen, Benutzer möchte ein Beitrag

router.get ('/ Post/create' authenticate.ensureUser, Funktion (REQ, res)} {

Authentifizieren erstellen .ensureUser: ist Middleware, die wie folgt aussehen wird:

> ensureUser: function(req,res,next){ 
>  if(req.isAuthenticated()){ 
>    return next() ; 
>   }else{ 
>    req.flash('danger','Please login.'); 
>    res.redirect('/login'); 
>   } 
>  }, 
+0

scheint kompliziert zu sein für das, was ich will. Ich brauche etwas wie in Ruby: def Authentifizierung authenticate_or_request_with_http_basic do | Name, Passwort | name == "usuarioadmin" && passwort == "amelieelmp" ende ende –

+1

@EzequielRamiro Ich habe keine Erfahrung mit Ruby, also kann ich diesen Teil nicht kommentieren. Aber Sie werden eine Form der Authentifizierung benötigen. Der Benutzer sollte irgendwie eingeloggt sein. Passport.js ist sehr einfach zu benutzen. Überprüfen Sie einfach ihre Dokumentation. Danach können Sie einfach überprüfen, ob dieser Benutzer berechtigt ist oder nicht .. das war's! –