我正在使用 NodeJS + Restify 编写服务。我已将每个实际服务拆分为单独的文件(我假设每个人都在做什么)。他们都将使用 mysql 数据库,所以我想我可以打开一个数据库连接,每个服务都可以使用这个连接,而不是每次完成请求时都打开连接。
问题是我似乎没有找到传递用户数据的方法。用户数据是指服务器回调的每个服务都可以访问的任何自定义数据。
我主要使用 NodeJS + Express,但是在查看了 Restify 的一些文档后,我相信您可以使用授权解析器(在他们网站上的 Bundled Plugins 下:单击此处前往那里)
我认为这将是传递用户数据的最基本方式。我还没有测试过它,但我相信你只需添加它来使用它:
server.use(restify.authorizationParser());
然后,您可以通过以下方式访问用户数据:
//This is based on the structure of req.authorization in the documentation.
req.authorization.basic.user
我相信你可以设置新的用户数据(当用户登录时),比如:
req.authorization.id = 'id'