我目前正在使用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。
应如何实施?
答案 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});
});