用户登录验证后呈现视图
Render view after user login validation
我正在尝试在输入成功凭据后登录验证表单创建会话后呈现视图。
此视图必须 仅 在登录程序后可访问,但是当我输入 url (127.0.0.1:3000/newsfeed) 时 'newsfeed' 页面已加载并绕过登录。我知道这可能是与路线相关的问题,但我无法让它发挥作用。
//session
app.use(session({
secret: 'secret',
resave: true,
saveUninitialized: true
}))
app.use(bodyParser.urlencoded({extended : true}));
app.use(bodyParser.json());
app.get('/', function(request, response) {
response.sendFile(path.join(__dirname + '/'));
});
// Checking credentials
app.post('/auth', function(request, response) {
var username = request.body.username;
var password = request.body.password;
if (username && password) {
connection.query('SELECT * FROM accounts WHERE username = ? AND password
= ?', [username, password], function(error, results, fields) {
if (results.length > 0) {
request.session.loggedin = true;
request.session.username = username;
response.redirect('authres');
} else {
response.send('Incorrect Username and/or Password!');
}
response.end();
});
} else {
response.send('Please enter Username and Password!');
response.end();
}
});
//**Would like page to appear here instead of text**
app.get('/authres', function(request, response) {
if (request.session.loggedin) {
response.send('Welcome back, ' + request.session.username + '!');
} else {
response.send('Please login to view this page!');
}
response.end();
});
app.js
中的方法
//uses routes
app.use('/', indexRouter);
app.use('/users', usersRouter);
app.use('/newsfeed', newsfeedRouter);
index.js 登录路径
router.get('/', function(req, res, next) {
res.render('index');
});
newsfeed.js 新闻源页面的路由
router.get('/', function(req, res, next) {
res.render('newsfeed');
});
router.get('/', function(req, res, next) {
res.render(req.session.loggedin?"newsfeed":"index");
});
如果用户已登录,这将呈现新闻源视图。
我正在尝试在输入成功凭据后登录验证表单创建会话后呈现视图。
此视图必须 仅 在登录程序后可访问,但是当我输入 url (127.0.0.1:3000/newsfeed) 时 'newsfeed' 页面已加载并绕过登录。我知道这可能是与路线相关的问题,但我无法让它发挥作用。
//session
app.use(session({
secret: 'secret',
resave: true,
saveUninitialized: true
}))
app.use(bodyParser.urlencoded({extended : true}));
app.use(bodyParser.json());
app.get('/', function(request, response) {
response.sendFile(path.join(__dirname + '/'));
});
// Checking credentials
app.post('/auth', function(request, response) {
var username = request.body.username;
var password = request.body.password;
if (username && password) {
connection.query('SELECT * FROM accounts WHERE username = ? AND password
= ?', [username, password], function(error, results, fields) {
if (results.length > 0) {
request.session.loggedin = true;
request.session.username = username;
response.redirect('authres');
} else {
response.send('Incorrect Username and/or Password!');
}
response.end();
});
} else {
response.send('Please enter Username and Password!');
response.end();
}
});
//**Would like page to appear here instead of text**
app.get('/authres', function(request, response) {
if (request.session.loggedin) {
response.send('Welcome back, ' + request.session.username + '!');
} else {
response.send('Please login to view this page!');
}
response.end();
});
app.js
中的方法//uses routes
app.use('/', indexRouter);
app.use('/users', usersRouter);
app.use('/newsfeed', newsfeedRouter);
index.js 登录路径
router.get('/', function(req, res, next) {
res.render('index');
});
newsfeed.js 新闻源页面的路由
router.get('/', function(req, res, next) {
res.render('newsfeed');
});
router.get('/', function(req, res, next) {
res.render(req.session.loggedin?"newsfeed":"index");
});
如果用户已登录,这将呈现新闻源视图。