我正在使用 KrakenJS 1.0 构建一个应用程序,我确实想禁用会话。
如果您想知道我这样做的目的:我真的想为此禁用会话。我不想进行会话处理。我不想有会话 cookie。也没有任何其他与会话远程相关的事情。
我不希望我的节点进程在处理请求时浪费单个 cpu 周期来管理会话。我不希望使用单个字节的内存来创建会话。
如何禁用会话?默认情况下,kraken 使用 connect 创建会话。如何完全禁用会话管理?
更新
现在我在处理请求时会做
req.session = null
。现在不发送会话 cookie。不过,我确实认为 Kraken 仍然在内部创建了一个会话(尽管 req.session = null
立即销毁了它)。
默认情况下,kraken 为您设置会话处理程序。
防止这种情况发生的最简单方法是在应用程序配置中禁用该中间件。您可以通过在您的
config/config.js
中添加类似以下内容(或 config/development.js
用于 development
特定配置等)来实现此目的:
{
"middleware": {
"session": {
"enabled": false
}
}
}
将会话启用设置为 false 仍会初始化会话中间件,但不再创建会话(由缺少 cookie 证明)。但是,您仍然会看到有关正在使用的内存存储的错误。您可以忽略它(除非您最终使用会话)。这样做对于大多数运行无会话配置的人来说应该有效。
只需记住,在 kraken 配置中将中间件标记为“已启用”: false 仍会添加中间件并运行一次。 执行“session”:null实际上会删除中间件。