gpt4 book ai didi

javascript - Node.js:取决于用户身份验证的条件内容

转载 作者:行者123 更新时间:2023-12-03 03:53:44 24 4
gpt4 key购买 nike

我的 Controller 中有这个方法来检查用户是否登录。它使用passport.js并且工作正常。

exports.isLoggedIn = (req, res, next) => {
if (req.isAuthenticated()) {
next();
return;
}

在我的一个 View 中,我想仅在用户登录时向用户显示某些内容。该 View 是页面标题的一部分。如果用户注销,他会看到两个按钮“注册”和“登录”。如果他已登录,则应向他显示“帐户”(用于管理他的帐户)和“注销”。

我使用哈巴狗并尝试了以下操作。它显然不起作用,因为 pug 文件中没有定义该函数。我也不确定这是否是正确的方法。

if !isAuthenticated()
a(href="/register") Register
a(href="/login") Log in
if isAuthenticated()
a(href="/account") Account
a(href="/logout") Log out

最佳答案

您似乎想将 isAuthenticated 的值传递给您的 View 。

我自己通常不使用 pug,但看起来您需要执行以下操作来传递变量:

var isAuthenticated = req.isAuthenticated();
pug.renderFile('template.pug', {
authenticated: isAuthenticated
})

然后在你的 pug 文件中使用经过身份验证的。

关于javascript - Node.js:取决于用户身份验证的条件内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45056342/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com