Passport.js - 隐式将 {user: req.user} 传递给模板?

2023-11-24

现在在多个项目中使用 Passport.js 和 Express,我注意到自己一遍又一遍地这样做,即指定{ user: req.user }明确用于我的 Express 路线。有时我忘记传递它,突然之间就像用户甚至不再登录一样。

我怎样才能通过user variable在我的路线中,而不必像这样为每条路线明确编写它?

app.get = function(req, res, next) {
    res.render('home', {
        title: 'Home',
        user: req.user
    });
};

I think 凡奥特有这样的 Express 助手,但是 Passport.js 有吗?


您可以使用一个简单的中间件来实现:

app.use(function(req, res, next) {
  res.locals.user = req.user;
  next();
});

这将使user变量在所有模板中可用,前提是req.user已有人居住。确保您声明了该中间件after你声明passport.session中间件,但在任何路由之前。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Passport.js - 隐式将 {user: req.user} 传递给模板? 的相关文章

随机推荐

  • 如何使用返回的 linq 变量?

    我决定快速了解一下 LINQ 方面的内容 而不是仅仅使用直接的 foreach 循环 但我在让它工作时遇到了一些麻烦 主要是由于我认为的数据类型 到目前为止 我已经得到了这个 var selectedSiteType from sites
  • 页面的官方 Facebook RSS 提要

    许多人已经描述了如何获取 Facebook 页面的 RSS 数据源 例如 http ahrengot com tutorials facebook rss feed 以下 URL 提供了可口可乐页面的 feed 但是 我似乎无法在 face
  • 在 Web 应用程序之间共享 ASP.NET 资源文件

    我有多个项目需要共享资源文件 resx 已提出将资源文件移动到单独的程序集并让 Web 项目引用它的建议 有如何执行此操作的示例吗 我是否创建一个新的类库项目并将 App GlobalResource 文件夹移到其中 我认为这不会起作用 因
  • 如何使用自然的entrySet()顺序迭代HashMap?

    我的地图包含按字母顺序排序的键 当我显示它时 我使用的是entrySet iterator 但我的结果不是按字母顺序排列的 我如何才能按顺序获得结果 不 您的地图不按字母顺序保存元素 你可能有 put 然后按该顺序 但映射没有定义的迭代顺序
  • 您的 Android App Bundle 使用错误的密钥进行签名。确保您的应用程序包使用正确的签名密钥进行签名,然后重试

    如何使用正确的签名密钥对我的 Android 应用程序包进行签名 我为这个问题把头撞在桌子上大约两个小时 当我最终放弃并填写 重置密钥 请求时 我意识到我当前正在尝试将其上传到错误的项目一直以来 因此 第一步 确认您正在尝试上传到正确的项目
  • 流式 HTTP 响应,刷新到浏览器

    我有如下的观点 from django views decorators http import condition def stream for i in range 0 40 yield 1024 yield d i time slee
  • 贫血领域模型:优点/缺点

    我想知道使用贫血域模型的优点和缺点 请参阅下面的链接 福勒文章 由于 贫血领域模型 是反模式 为什么有这么多系统实现它 我认为有几个原因 1 系统的复杂性 在一个简单的系统中 几乎是您在互联网上找到的所有示例和示例代码 如果我想实现 将产品
  • 如何在单击某些按钮时重新加载我的 UIViewController?

    我正在开发一个 iPhone 应用程序 我有一个UIViewController类中存在一些封面流动画 根据设计 我的视图顶部有一些 5 个按钮 每个按钮都有一个IBAction单击按钮的方法我需要显示具有不同数据的不同组的封面流 并且封面
  • 在 Perl 正则表达式中嵌入评估

    所以我正在编写一个快速的 Perl 脚本 它清理一些 HTML 代码并通过 html gt pdf 程序运行它 我希望丢失尽可能少的信息 因此我想扩展文本区域以适应其中当前的所有文本 在我的例子中 这意味着根据文本框中字符串的值将行数设置为
  • C# 线程安全的StreamWriter 怎么做呢? 2

    所以这是我上一个问题的延续 所以问题是 构建线程安全的程序的最佳方法是什么 因为它需要将双精度值写入文件 如果通过流写入器保存值的函数被多个线程调用 最好的方法是什么 我修改了MSDN上找到的一些代码 下面怎么样 这个正确地将所有内容写入文
  • Django - 限制表单中选择字段的选择

    我在 Django 中的选择字段上遇到问题 我需要一个表格来将订单移动添加到工单中 这些是choices py中的选择 STATUS CHOICES 1 Orden Creada 2 En Tienda Asociada 3 Recibid
  • 如何将序列号列添加到结果数据中? [复制]

    这个问题在这里已经有答案了 可能的重复 向此 T SQL 查询添加行号 我使用的是 sql server 2008 当我输入 从员工中选择 结果是这样的 EmpID EmpName Salary DB1608 David 100000 JT
  • JavaScript .prototype 如何工作?

    我不太热衷于动态编程语言 但我已经编写了相当多的 JavaScript 代码 我从来没有真正了解过这种基于原型的编程 有人知道这是如何工作的吗 var obj new Object obj prototype test function a
  • SQL LIKE 语句的 LINQ 版本

    我是 LINQ 的新手 在网上搜索模仿 SQL 的 LIKE 语句的 LINQ 示例并不能让我满意 我想要的是产生与此 SQL 相同的查询结果 SELECT FROM table 1 WHERE column 1 LIKE 0 我想从 ta
  • Neo4j:MERGE 创建重复节点

    我的数据库模型有用户和 MAC 地址 一个用户可以有多个MAC地址 但一个MAC只能属于一个用户 如果某个用户设置了他的 MAC 并且该 MAC 已经链接到另一个用户 则现有关系将被删除 并在新所有者和该 MAC 之间创建新关系 换句话说
  • 在 Swing 应用程序中使用 Hibernate 进行会话管理

    如何在 Java Desktop Swing 应用程序中进行 Hibernate 会话管理 您使用单个会话吗 多次会议 以下是有关该主题的一些参考资料 http www hibernate org 333 html http blog sc
  • 围绕多个插入或更新使用事务的正确方法

    测试插入 更新失败并回滚此事务 如果有 的正确方法是什么 我认为我所拥有的不起作用 因为我的插入 更新是 3 个单独的语句 并且 ROWCOUNT 将仅反映最后执行的语句 BEGIN TRANSACTION Script GO INSERT
  • php isset() 在 javascript 中等效

    我正在寻找与 php 函数等效的 javascriptisset 我已经尝试过此处描述的方法JavaScript isset 等效项但在 firebug 中 出现错误 data del is undefined Firebug warnin
  • 使用 awk 从 stdin 或文件读取

    到目前为止 这是我的代码 awk a length END for i in a print i a i lt 1 sort n 它从文本文件中读取行的长度 并输出行的长度 然后输出有多少行具有相同的长度 所以输入 hello guys h
  • Passport.js - 隐式将 {user: req.user} 传递给模板?

    现在在多个项目中使用 Passport js 和 Express 我注意到自己一遍又一遍地这样做 即指定 user req user 明确用于我的 Express 路线 有时我忘记传递它 突然之间就像用户甚至不再登录一样 我怎样才能通过us