如何解决api 调用者可以访问 res.locals 吗?
目前正在开发一个应用程序,我在中间件中对用户进行身份验证并设置其身份验证属性(将在路由中使用)。这些身份验证属性存储在 res.locals.user 中。
我想知道 api 调用者是否可以在请求被发回后访问并记录 res.locals 变量。从我读到的内容来看,情况似乎并非如此,但我想确定一下。
我已经看到答案涉及请求/响应生命周期,因此我们也将不胜感激。
谢谢
解决方法
res.locals.user
对您的服务器而言是本地的,并且对处理该特定请求的代码而言是本地的。传入 http 请求的发送者无权访问该数据。
如果您想与传入的 http 请求的发件人共享其中的任何内容,那么您可以编写代码以在您作为 http 响应发回的响应中包含某些内容,或者如果您使用的是 html 模板引擎,然后您可以对模板进行编码以包含您想要的来自 res.locals.user
的任何内容。
服务器端变量仅在服务器上可用,除非您的代码专门将它们发送回客户端。并且,req
或 res
对象中的内容仅在处理该特定请求时可用。请求处理结束并且您处理请求的代码完成后,那些特定的 req
和 res
对象将被垃圾回收,其他请求无法访问它们。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。