【问题标题】:How to access passport user from 404 & 500 response pages?如何从 404 和 500 响应页面访问护照用户?
【发布时间】:2014-12-09 02:23:06
【问题描述】:

我在 Sails 0.10 中使用 PassportJS 身份验证,似乎在执行 403、404 和 500 的响应之前没有执行该策略。如何从这些视图中访问通常存储为 req.user 的用户信息?

【问题讨论】:

  • 你能解释一下你是如何整合护照的吗?它是否托管在某个地方以便我可以看到?
  • @YedhuKrishnan 不幸的是,存储库不是公开的。与配置/集成相关的任何具体问题?

标签: sails.js passport.js


【解决方案1】:

您可以从自定义响应函数的上下文中访问“req”和“res”。

module.exports = function serverError (error, options) {
  var req = this.req;
  var res = this.res;
}

最终如果在用户授权之前/期间发生错误,req.user 将为空。

【讨论】:

  • 如果定义的控制器出现 404 错误,我可以访问 req.user 对象。如果没有,好像护照没有被执行。
  • 也定义了一个包罗万象的策略:'*':['passport','authenticated','refreshSessionCookie']
  • 看起来很合理:如果控制器中没有方法,则它不匹配任何策略,甚至是'*'。所以你可以在“notFound”自定义响应中调用passport.authenticate()。
猜你喜欢
  • 2012-02-29
  • 1970-01-01
  • 2011-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-02
  • 1970-01-01
  • 2014-09-23
相关资源
最近更新 更多