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 に答える