【发布时间】:2014-02-04 13:37:49
【问题描述】:
我有一个 Node.js 应用程序,我在其中使用了 Angular 的 Yeoman 脚手架。我也在服务器端使用 ExpressJS。
所以基本上我的应用程序结构是:
app
-->views
--> more files
server.js
结构比这更重,但这是为了保持简单。
基本上我在服务器端使用 PassportJS 进行身份验证。目前正在通过 AngularJS 路由参数执行路由。
我现在遇到一个问题,因为我需要使用中间件方法进行身份验证:
function ensureAuthenticated(req, res, next) {
console.log('authenticate=' + req.isAuthenticated());
if (req.isAuthenticated()) {
return next();
}
res.redirect('/')
}
我在服务器端创建了一个app.get 来检查用户是否尝试在不登录的情况下进入管理页面:
app.get('/admin', ensureAuthenticated,
function(req, res){
console.log('get admin' + req.params);
res.sendfile(__dirname + '/app/views/admin/users.html');
});
但它从不涉及方法。我做错了什么?
任何建议都会很棒。
【问题讨论】:
标签: javascript angularjs node.js express passport.js