我有一个Node.js应用程序,其中我使用了Yeoman脚手架来处理Angular。我也使用ExpressJS作为服务器端。Angularjs,Expressjs和passportjs用于在服务器端进行身份验证检查
所以基本上我的应用程序的结构是:
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');
});
但它永远不会去的方法。我究竟做错了什么?
任何建议将是伟大的。
嗨,认证工程,如果我只是把/管理但我的网址是localhost:8888 /#/管理。它从来没有击中路线的快递,如果我输入的网址如图所示 – tjhack
localhost:8888 /#/ admin是角度领域,所以你应该改变你的逻辑我认为即把你的看法在管理路径 – Whisher
我现在有一个进一步的问题是当我路由到管理页面时,我按浏览器刷新,它试图呈现页面,但它表明没有默认引擎被指定。我只是使用HTML网页? – tjhack