【发布时间】:2018-12-23 02:44:17
【问题描述】:
在用户进入登录页面后,我使用 passport.js 对用户进行身份验证。为了让用户在返回主页时保持登录状态,我将使用以下内容:
app.use(express.static(__dirname + '/public'));
app.get('/', function(req,res){
if(req.user){
// connect to database ....
} else{
res.sendFile(__dirname +'/index.html');
}
});
请注意,index.html 文件位于“public”文件夹中。最近我意识到有了上面这样的代码,node.js 不使用 app.get('/'....) 路由,但它直接为 index.html 提供服务。所以我无法检查 req.user 是否存在。有什么建议吗?
【问题讨论】:
-
教你节点和护照很长。只看教程:youtube.com/watch?v=DGTvjcgWt00
-
我认为提供一个小答案比建议观看视频 1.33h...
-
好的。 1. 我要举例说明如何使用中间件, 2. 我要展示如何创建本地策略,然后使用它的中间件, 3. 我要修复你的代码。总计:你只会复制粘贴它,什么也不会学到。 1.3小时的视频就是一个例子,搜索短片。你们这些人都懒得学了。你甚至不想看官方手册:passportjs.org/docs/downloads/html为什么别人必须为你做你的工作?
-
youtube.com/… Traversy Media 解释得更好
-
如果您想始终提供 html 文件。您只需将文件响应移出
else部分。app.get('/', (req, res) => { if (req.uses) {/*do something*/} res.sendFile(__dirname + '/public/index.html'); });太简单太基础了,无法理解。
标签: node.js passport.js