【发布时间】:2014-02-15 15:15:35
【问题描述】:
我有一个基于 express 的项目,需要基于护照的身份验证。
后台是一个用作静态文件的 angularjs 应用程序。
我的验证码完全基于https://github.com/jaredhanson/passport-local/blob/master/examples/express3-no-connect-flash/app.js
如果您未通过身份验证,请不要为 Angular 应用程序提供服务。我尝试在 /admin 路由上添加 ensureAuthenticated ,但它使路由不起作用(404)。一旦我删除了 ensureAuthenticated,就会提供 /admin。
app.use(express.static(path.join(__dirname, 'public')));
app.use('/admin', ensureAuthenticated, express.static(path.join(__dirname, 'admin')));
//serve routes
app.use(app.router);
公用文件夹包含登录页面。
我怎样才能做到这一点?
【问题讨论】:
-
如果他们在未登录时点击
/admin路由,您能否使用中间件(连接)重定向到登录? -
这就是我想要做的,但没有成功。如果没有,则确保已验证重定向到登录。但是有了这个,它在未登录时工作,但登录时我在 /admin 上有一个 404
-
我想更多的是
app.use(function(req, res, next) { if (!req.user)... } -
它有效,因此您应该发布完整的答案,我会将其标记为有效。谢谢,这个想法是创建一个中间件,而不是尝试将调用链接到 app.use
标签: node.js express passport.js