这是我的app.js中的一些代码:
app.get('/clientes', clientes.index);
app.post('/clientes/create', clientes.create);
app.get('/clientes/add', clientes.add);
app.get('/clientes/destroy/:id', clientes.destroy);
app.get('/clientes/show/:id', clientes.show)
app.get('/clientes/edit/:id', clientes.edit);
app.post('/clientes/update/:id', clientes.update);
app.post('/clientes/list', clientes.list);
// Login
app.get('/login', function(req, res) {
res.render('login', { user : req.user });
});
app.post('/login', passport.authenticate('local'), function(req, res) {
res.redirect('/');
});
登录有效,如果我输入正确的用户并将重定向传递给/如果不是UNAUTORIZED,但是如果用户是认可的,我怎么知道所有的app.gets?
我试试这个:
app.get('/clientes', passport.authenticate ( "local" ) ,clientes.index);
cliente.index是app / controllers / clientes.js文件中的控制器
但不起作用
我希望用户需要在所有路由中进行身份验证。
thaks。
答案 0 :(得分:1)
现在正在努力。我告诉你:
第一
function ensureAuthenticated(req, res, next) {
if (req.isAuthenticated()) { return next(); }
res.redirect('/login');
}
a then:
app.get('/clientes', ensureAutenticated, clientes.index)
答案 1 :(得分:0)
我使用connect-ensure-login帮助我确保用户已为每个get请求登录。看起来就像你想要做的那样。