我使用NodeJS域来存储特定于当前请求的请求级数据 - 用户,客户端和安全授权。此数据在请求启动时设置,并在多个调用级别中使用,以强制执行安全性并限制数据范围。
我们最常见的工作流程如下:
server.js // inject security info into domain here
*-api.js // express request/respose handler, translate req/res to/from objects
*-controller.js // perform business actions, validation, non-db related stuff
*-data.js // load/persist to database as needed
server.js
和*-api.js
级别可以访问会话中包含用户信息的request
。除此之外,获得它的唯一方法是将其隐藏在域中,或通过可能的十几个回调将其从一个调用传递到下一个调用。
现在不推荐使用域,是否有其他方法可以在调用结构中提供安全数据,而无需修改所有方法以手动传递它?
答案 0 :(得分:0)
不确定您是否已经得到了答案,但是如果您使用ExpressJS,那么您应该查看http://expressjs.com/4x/api.html#res.locals。这应该为您提供存储/引用请求级别信息的方法。