如何使用Passport强制进行身份验证

时间:2014-05-17 19:34:59

标签: passport.js passport-local

我已经实施了两条路线: app.post(' / login',passport.authenticate ....); app.get(' / admin',myfunction);

如果用户首先发帖登录,我将他重定向到/ admin。

如果用户直接获取/管理员该怎么办?我如何确保除非他已登录,否则不允许他访问/ admin并重定向到登录屏幕?

对于从应用程序访问的API,如果用户未通过护照验证,如何发送401?

1 个答案:

答案 0 :(得分:3)

Passport是需要包含在需要路由保护的中间件

Passport.js是Express的中间件。您可以将其包含在需要保护的任何路由中,而不仅仅是在登录路由/页面上。

作为回顾,What does middleware and app.use actually mean in Expressjs?的已批准回答以及指向异地网页A short guide to Connect Middleware的此链接也可以提供帮助。

保护API路线

首先,要重复上述内容...... Passport是中间件,因此您需要将其包含在定义API的路由中。另外,请参阅:

对于401,如果您没有为自己编写自己的处理程序,Passport将在失败时为您生成这些。