作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 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/
我是一名优秀的程序员,十分优秀!