0

这是我的 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 文件中的控制器

但它不起作用

我希望用户需要在所有路由中进行身份验证。

4

1 回答 1

1

现在正在工作。我展示给你:

第一的:

function ensureAuthenticated(req, res, next) {
  if (req.isAuthenticated()) { return next(); }
  res.redirect('/login');
}

一个然后:

app.get('/clientes', ensureAutenticated, clientes.index)
于 2013-09-21T12:22:26.150 回答