【问题标题】:Auth/Session not working on one page in Sails with PassportAuth/Session 在 Sails with Passport 中的一页上不起作用
【发布时间】:2015-07-01 09:14:23
【问题描述】:

我已使用护照管理 Sails 中的身份验证。这是一个奇怪的问题。如果我检查用户以修改导航栏

<ul class="nav navbar-nav navbar-right">
            {{#if user}}
                <li>{{ user.username }}</li>
                <li><a href="/logout">Logout</a></li>
                User!
            {{else}}
                <li><a href="/login">Login</a></li>
            {{/if}}
        </ul>

登录并转到/那里什么都没有。 当我去 /login 或 /logout 时,它们都使用相同的模板并共享上面的代码,我得到满足两个条件。

有什么想法吗?

【问题讨论】:

  • 能否添加模板继承或尝试在首页登录用户,检查他是否存在?
  • 你好。我不确定我是否理解模板继承位。用户对象不存在。在网上看护照和船帆似乎很常见,但我还没有看到答案。

标签: node.js sails.js passport.js passport-local


【解决方案1】:

好的,问题是 Sails 中的策略仅适用于控制器,而不适用于视图。

Sails Docs

解决方案是创建一个页面控制器,将一个方法路由到主页视图,然后对其应用以下策略。它通过护照通过,但不限制访问。 PageController.js

    module.exports = {
    home: function (req, res) {
        res.view();
    }
};

policies.js

    '*': ['passport'],

  PageController: {
    '*': ['passport', true]
  }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-25
    • 2021-01-27
    • 1970-01-01
    • 2014-04-20
    • 1970-01-01
    • 2020-10-07
    • 2014-12-08
    • 1970-01-01
    相关资源
    最近更新 更多