这是我应用程序中的小代码.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('/');
});
登录有效,如果我输入正确的用户并将重定向传递到/如果不是未授权化,但我如何在所有 app.get 中知道用户是否被自动设置?
我试试这个:
app.get('/clientes', passport.authenticate ( "local" ) ,clientes.index);
cliente.index 是 app/controllers/clientes.js 文件中的控制器
但它不起作用
我希望用户需要在所有路由中进行身份验证。
现在正在工作。我告诉你:
第一:
function ensureAuthenticated(req, res, next) {
if (req.isAuthenticated()) { return next(); }
res.redirect('/login');
}
a 然后:
app.get('/clientes', ensureAutenticated, clientes.index)