微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

api 调用者可以访问 res.locals 吗?

如何解决api 调用者可以访问 res.locals 吗?

目前正在开发一个应用程序,我在中间件中对用户进行身份验证并设置其身份验证属性(将在路由中使用)。这些身份验证属性存储在 res.locals.user 中。

我想知道 api 调用者是否可以在请求被发回后访问并记录 res.locals 变量。从我读到的内容来看,情况似乎并非如此,但我想确定一下。

我已经看到答案涉及请求/响应生命周期,因此我们也将不胜感激。

谢谢

解决方法

res.locals.user 对您的服务器而言是本地的,并且对处理该特定请求的代码而言是本地的。传入 http 请求的发送者无权访问该数据。

如果您想与传入的 http 请求的发件人共享其中的任何内容,那么您可以编写代码以在您作为 http 响应发回的响应中包含某些内容,或者如果您使用的是 html 模板引擎,然后您可以对模板进行编码以包含您想要的来自 res.locals.user 的任何内容。

服务器端变量仅在服务器上可用,除非您的代码专门将它们发送回客户端。并且,reqres 对象中的内容仅在处理该特定请求时可用。请求处理结束并且您处理请求的代码完成后,那些特定的 reqres 对象将被垃圾回收,其他请求无法访问它们。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。