显然,在使用浏览器等时使用 cookie 存储会话 ID 最有意义,但我使用 Sails 只是为了构建我的 RESTful API,我想使用标头(X-Session-Identifier 或其他东西)向 Sails 提供会话 ID(这也可以作为响应中的标头返回,因此我知道然后再次发送什么)。
我假设我需要编写一些中间件,但我在文档中找不到可以挂钩的任何地方。
我是否需要删除 connect 的 cookieSession 中间件并用我自己的替换它?
显然,在使用浏览器等时使用 cookie 存储会话 ID 最有意义,但我使用 Sails 只是为了构建我的 RESTful API,我想使用标头(X-Session-Identifier 或其他东西)向 Sails 提供会话 ID(这也可以作为响应中的标头返回,因此我知道然后再次发送什么)。
我假设我需要编写一些中间件,但我在文档中找不到可以挂钩的任何地方。
我是否需要删除 connect 的 cookieSession 中间件并用我自己的替换它?
这在任何地方都没有记录,但是您应该能够通过执行以下操作为底层 express 对象提供自定义中间件:
配置/express.js
var sessionware = require('mycoolmiddleware');
modules.exports.express = {
customMiddleware: function (app) {
app.use(sessionware.sessionHeader());
}
};
Sails.js 在这里处理这个问题:https ://github.com/balderdashy/sails/blob/v0.9.16/lib/express/index.js#L162
从 Sails.js 0.10.x 开始,他们现在在此处记录如何提供自定义中间件:http: //sailsjs.org/#/documentation/concepts/Middleware