使用nodejs和html进行登录和注销会话
我想使用nodejs服务器和html作为前端开发一个登录和注销会话 我的代码在下面 server.js使用nodejs和html进行登录和注销会话,html,node.js,session,Html,Node.js,Session,我想使用nodejs服务器和html作为前端开发一个登录和注销会话 我的代码在下面 server.js var express = require('express'); var session = require('express-session'); var bodyParser = require('body-parser'); var app = express(); app.use(express.static(_
var express = require('express');
var session = require('express-session');
var bodyParser = require('body-parser');
var app = express();
app.use(express.static(__dirname + '/public'));
app.set('views', __dirname + '/views');
app.engine('html', require('ejs').renderFile);
app.use(session({secret: 'ssshhhhh',saveUninitialized: true,resave: true}));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
var sess;
app.get('/',function(req,res){
sess=req.session;
if(sess.email)
{
res.redirect('/admin');
}
else{
res.render('index.html');
}
});
app.post('/login',function(req,res){
sess=req.session;
sess.email=req.body.email;
res.end('done');
});
app.get('/admin',function(req,res){
sess=req.session;
if(sess.email)
{
//res.render('lg.html');
res.write('<h1>Hello '+sess.email+'</h1><br>');
res.end('<a href='+'/logout'+'>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");
})
var express=require('express');
var会话=需要(“快速会话”);
var bodyParser=require('body-parser');
var-app=express();
app.use(express.static(uu dirname+/public));
app.set('views','u dirname+'/views');
app.engine('html',require('ejs').renderFile);
使用(会话({secret:'ssshhhh',saveUninitialized:true,resave:true});
use(bodyParser.json());
use(bodyParser.urlencoded({extended:true}));
var-sess;
app.get('/',函数(req,res){
sess=请求会话;
如果(sess.email)
{
res.redirect('/admin');
}
否则{
res.render('index.html');
}
});
app.post('/login',函数(req,res){
sess=请求会话;
sess.email=req.body.email;
res.end(“完成”);
});
app.get('/admin',函数(req,res){
sess=请求会话;
如果(sess.email)
{
//res.render('lg.html');
res.write('Hello'+sess.email+'
');
res.end(“”);
}
其他的
{
res.write('请先登录');
res.end(“”);
}
});
app.get('/logout',函数(req,res){
请求会话销毁(函数(错误){
如果(错误){
控制台日志(err);
}
其他的
{
res.redirect('/');
}
});
});
app.listen(3000,函数(){
console.log(“应用程序在端口3000上启动”);
})
代码运行良好,登录和注销都正常,但我的问题是当我登录时,如果我通过放置注销按钮将管理页面重定向到我的html页面,我将无法从那里注销。请帮助我。我可以查看index.html文件吗?感谢您的响应。我解决了此问题,但现在我遇到了另一个问题,当用户注销会话时,他应该不能执行任何操作。会话应该被禁用。如果对此有任何想法,那么help me out.does req.session.destroy()将有助于使会话禁用而不执行任何其他操作。您应该给出如何修复会话的答案,它将帮助其他有同样问题的人