Auth/Session 在 Sails with Passport 中的一页上不起作用
Posted
技术标签:
【中文标题】Auth/Session 在 Sails with Passport 中的一页上不起作用【英文标题】:Auth/Session not working on one page in 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 时,它们都使用相同的模板并共享上面的代码,我得到满足两个条件。
有什么想法吗?
【问题讨论】:
能否添加模板继承或尝试在首页登录用户,检查他是否存在? 你好。我不确定我是否理解模板继承位。用户对象不存在。在网上看护照和船帆似乎很常见,但我还没有看到答案。 【参考方案1】:好的,问题是 Sails 中的策略仅适用于控制器,而不适用于视图。
Sails Docs
解决方案是创建一个页面控制器,将一个方法路由到主页视图,然后对其应用以下策略。它通过护照通过,但不限制访问。 PageController.js
module.exports =
home: function (req, res)
res.view();
;
policies.js
'*': ['passport'],
PageController:
'*': ['passport', true]
【讨论】:
以上是关于Auth/Session 在 Sails with Passport 中的一页上不起作用的主要内容,如果未能解决你的问题,请参考以下文章
qcloud-sdk[auth] ERR_GET_SESSION_KEY: { code: 5100, qcloud-sdk[auth] message: '(-1)服务内部错误,请