0
sqlite3을 사용하여 자습서 중 하나에 따라 인증 응용 프로그램을 만들었습니다. 뷰를 핸들 바에서 html 파일로 바꿀 때까지 모든 것이 잘 동작했습니다.급한 메시지 및 플래시 메시지가 표시되지 않습니다.
인증 시스템이 작동하지만 플래시 메시지를 팝업 할 수 없습니다. 어쩌면 나 한테 조언 해 줄 수있을거야.
내 미들웨어 :이 예에서는
var express = require('express');
var path = require('path');
var app = express();
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var exphbs = require('express-handlebars');
var expressValidator = require('express-validator');
var flash = require('connect-flash');
var session = require('express-session');
var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;
app.set('views', path.join(__dirname, 'views'));
app.engine('.html', require('ejs').__express);
app.set('view engine', 'html');
app.use(express.static(path.join(__dirname, 'public')));
app.use(function(req,res,next) {
res.locals.success_msg = req.flash('success_msg');
res.locals.error_msg = req.flash('error_msg');
res.locals.error = req.flash('error');
res.locals.users = req.user || null;
next();
});
서버 측 :
이<%= if (error_msg) { %>
<div class="alert alert-danger"> You are not loged in</div>
<% } %>
아무도 나를 도울 수 :
router.post('/login',
passport.authenticate('local',{ successRedirect: '/play/gallery',failureRedirect: '/users/login',failureFlash:true }),
function(req,res) {
res.redirect('/');
req.flash('success_msg','You are logged in');
});
router.get('/logout',function(req,res){
req.logout();
req.flash('success_msg','You succesfully logged out');
res.redirect('/users/login');
})
및 예를 들어 내가 이것을 사용하는 register.html
이것은 등록 페이지를로드하지 않기 때문에 코드를 선언하는 방법입니다.미리 감사드립니다.