javascript - 限制对用户 Node.js 的访问
问题描述
我想限制对/secrets
路由的访问仅限于用户
app.get("/secrets", function(req, res){
Post.find({}, function(err, posts){
res.render("secrets", {
posts: posts
});
});
});
我知道它应该是这样的:
app.get("/secrets", function(req, res){
if (req.isAuthenticated()){
res.render("secrets");
} else {
res.redirect("/login");
}
});
但我不知道如何继续,因为我已经有一个回调函数。
解决方案
您可以使用中间件,它是这样的。
app.get("/secrets", secretsPermissionCheck, function(req, res){
// do your request processing
}
});
您可以在中间件文件夹中编写以下代码。
module.exports = function secretsPermissionCheck(req, res, next){
if(!isAuthenticated()) {
res.redirect("/login")
}else {
next();
}
}
推荐阅读
- java - android studio中的两个自动完成依赖textview
- java - ObservableList.sublist 和 ListChangeListener
- rust - 使用 wasm-bindgen 从 Rust 返回 Uint8Array 或 Uint16Array
- github - 如何从我的 Github 中删除其他工作区
- python - IndexError:索引 0 超出了 pandas/matlplotlib 中大小为 0 的轴 0 的范围
- azure - 使用 Azure CosmosDB 容器将对象移动到不同的状态
- powerapps-portal - 无法从 PowerApps 门户中的自定义表中获取价值
- python - 为什么不打开一个文本文件给我想要的输出?
- visual-studio-code - Nuxt.js 中的 ESlint 配置冲突
- python - 从字符串中获取非重复字符的递归函数