2

显然,在使用浏览器等时使用 cookie 存储会话 ID 最有意义,但我使用 Sails 只是为了构建我的 RESTful API,我想使用标头(X-Session-Identifier 或其他东西)向 Sails 提供会话 ID(这也可以作为响应中的标头返回,因此我知道然后再次发送什么)。

我假设我需要编写一些中间件,但我在文档中找不到可以挂钩的任何地方。

我是否需要删除 connect 的 cookieSession 中间件并用我自己的替换它?

4

1 回答 1

5

Sails.js 0.9.x

这在任何地方都没有记录,但是您应该能够通过执行以下操作为底层 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

从 Sails.js 0.10.x 开始,他们现在在此处记录如何提供自定义中间件:http: //sailsjs.org/#/documentation/concepts/Middleware

于 2013-08-09T20:48:00.083 回答