我嘗試使用用戶身份驗證進行練習。如何通過node.js使用用戶身份驗證
但它不能按我的預期工作。
我預料它可以顯示我的登錄界面。
步驟:
1.使用本地主機:12345/login_page到
2.然後顯示登錄界面將服務器連接到我
教育部重點中的用戶名和密碼
var express = require('express');
var cookieSession = require('cookie-session');
var app = express();
app.use(cookieSession({
secret: 'session',
keys: 'node'
}));
app.get('/login_page', function(req, res){
if(!req.session.logined){
res.send('<a href="http://127.0.0.1:12345/logout">Logout Now</a>');
res.end();
return;
}
res.send('<form action="http://localhost:12345/login" method="POST">');
res.send('<input type="text" name="username">');
res.send('<br/>');
res.send('<input type="password" name="password">');
res.send('<br/>');
res.send('<input type="submit" value="login">');
res.send('</form>');
res.end();
});
app.post('/login', function(req, res){
if(res.body.username != 'user' ||
req.body.password != '12345678'){
res.send('Account or password error, please login again');
res.end();
return;
}
res.session.logined = true;
res.redirect('/login_page');
res.end();
});
app.post('/logout', function(req, res){
req.session.logined = false;
res.redirect('/login');
res.end();
});
app.listen(12345);
您不能使用'res.send'兩次。您應該將登錄頁面作爲'html'文件發送。 –
查看我更新的答案。 – rsp