如何使用护照 js 保护命名空间
How to secure a namespace with passport js?
假设我有一个具有以下命名空间的路由:
app.use('/logged', adminRoute);
现在,我创建了以下 passportjs 函数:
app.get('/logged/panel', function (req, res) {
if (req.user === undefined) {
res.redirect('/login');
} else {
res.render('/logged/panel', {
user: req.user
})
}
});
此函数检查用户是否在/logged/panel
模式上进行身份验证。
我想修改这个函数,以便它将对来自adminRoute
的每个获取/发布 url 模式执行检查。我怎样才能正确地做到这一点?
考虑使用 express.Router
。
function ensureAuthenticated(req, res, next) {
if(logged) return next();
res.redirect('/login');
}
var loggedRouter = express.Router();
loggedRouter
.use(ensureAuthenticated)
.get('/panel', panelHandler)
.get('/other', otherHandler);
var mainRouter = express.Router();
mainRouter.use('/logged', loggedRouter);
app.use(mainRouter);
您可以包括检查用户是否登录ensureAuthenticated
函数。此中间件函数将始终在/logged/panel
和/logged/other
之前执行。
相关文章:
- 在javascript中使用命名空间
- 为什么不推荐使用“with”?是否有更好或其他方法可以“下降”到对象的命名空间
- javascript中的命名空间,IDE中支持代码完成/内容辅助's
- 如何使用javascript命名空间
- js命名空间和变量范围
- html,js-如何限制元素"范围“-命名空间
- 转换自的JavaScript命名空间
- 命名空间与自调用函数
- 什么's当前命名空间/类中JavaScript子命名空间/类的语法
- 无法加载Ace.js编辑器模式和主题(命名空间项目&AMD require.js&grunt
- jQuery命名空间和使用“;这个“;
- 在Firebug控制台中监视javascript命名空间变量
- jQuery事件命名空间是否可以包含破折号
- 用自定义javascript全局命名空间替换窗口
- 如何在Typescript中导出具有其他名称的命名空间
- 从html文件中的脚本标记调用非全局命名空间函数
- 正在测量全局命名空间的污染
- 如何使用护照 js 保护命名空间
- 我应该保护我的 Angular 控制器/服务免受全局命名空间的影响吗?
- JavaScript—自调用的匿名函数是否能够充分保护变量免受全局命名空间的影响?