使用angularjs和passportjs时的身份验证

时间:2014-01-14 22:51:14

标签: angularjs

我目前正在使用passportjs进行身份验证。

我遇到了一个阶段,如果在浏览器中键入了url /我一直在使用带有以下内容的passportja示例,我需要确保用户已通过身份验证:

app.get('/admin', ensureAuthenticated, function(req, res){
console.log('get admin');
res.render('admin', { user: req.user });
});
function ensureAuthenticated(req, res, next) {
if (req.isAuthenticated()) { return next(); }
res.redirect('/login')
}

我正在使用angularjs进行路由,因此我的get不起作用并运行ensure authenticated。

应如何实施?

1 个答案:

答案 0 :(得分:0)

使用AngularJS,您需要将模板的显示限制为用户。

因此,我们假设您在AngularJS中有以下代码:

$routeProvider.when('/admin', {
    templateUrl: '/partials/admin-page.html'
});

当用户尝试/admin路线时,AngularJS会请求模板/partials/admin-page.html

因此,在nodeJs服务器中,然后实现以下代码:

app.get('/partials/admin-page.html', ensureAuthenticated, function (req, res) {
    res.render('admin', { user: req.user});
});