2017-06-15 7 views
1

wie Sitzung in Node.js auf Serverseite zu verwalten. Ich versuche, durch, für package.jsonSo verwalten Sie Sitzung in node.js

{ 
    "name": "Node-Express4-Session", 
    "version": "0.0.1", 
    "main": "server.js", 
    "dependencies": { 
     "body-parser": "^1.7.0", 
     "ejs": "^1.0.0", 
     "express": "^4.8.7", 
     "express-session": "^1.7.6" 
    } 
} 

<html> 
 
<head> 
 
<title>Session Management in NodeJS using Express4.2</title> 
 
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script> 
 
$(document).ready(function(){ 
 
    var email,pass; 
 
    $("#submit").click(function(){ 
 
     email=$("#email").val(); 
 
     pass=$("#password").val(); 
 
     /* 
 
     * Perform some validation here. 
 
     */ 
 
     $.post("http://localhost:3000/login",{email:email,pass:pass},function(data){   
 
      if(data==='done')   
 
      { 
 
       window.location.href="/admin"; 
 
      } 
 
     }); 
 
    }); 
 
}); 
 
</script> 
 
</head> 
 
<body> 
 
<input type="text" size="40" placeholder="Type your email" id="email"><br /> 
 
<input type="password" size="40" placeholder="Type your password" id="password"><br /> 
 
<input type="button" value="Submit" id="submit"> 
 
</body> 
 
</html>

req,res){ 
 
    sess = req.session; 
 
if(sess.email) { 
 
res.write(' 
 
<h1>Hello '+sess.email+'</h1> 
 
'); 
 
res.end('<a href="+">Logout</a>'); 
 
} else { 
 
    res.write(' 
 
    <h1>Please login first.</h1> 
 
    '); 
 
    res.end('<a href="+">Login</a>'); 
 
} 
 
}); 
 

 
app.get('/logout',function(req,res){ 
 
req.session.destroy(function(err) { 
 
    if(err) { 
 
    console.log(err); 
 
    } else { 
 
    res.redirect('/'); 
 
    } 
 
}); 
 

 
}); 
 
app.listen(3000,function(){ 
 
console.log("App Started on PORT 3000"); 
 
});

Antwort

0

Es gibt verschiedene Verfahren, um dies zu tun. Eine Lösung kann Set-Cookie auf der Client-Seite verwenden, um die Sitzung zu verwalten. Um dies zu tun, können Sie das client-session Paket verwenden. Um weitere Details zur Sicherheit dieser Methode zu erhalten, und um weitere Details zur Verwendung des Pakets express zu erhalten, wie Sie es in Ihrem Beitrag vorgeschlagen haben, können Sie die folgenden Schritte ausführen: this post.

Verwandte Themen