エクスプレスサーバーとネイティブNodeJSサーバーの違いを理解する必要があります。ここに私のリンク
だからあなたはできる:
var app = express();
var server = http.createServer(app);
これにより、NodeJSで低レベルの機能を維持できます。
したがって、既存のモジュールやフレームワークを使用したくない場合は、独自のセッションマネージャーを構築できます。
- Cookieの使用
- IP/UAの使用
- ソケットの使用
最善の方法は、最初にソケットを使用して実装することです。 、例:
server.on('connection', function (socket) {
socket.id = id;
});
または
server.on('request', function (req, res) {
req.connection.id = id; // The socket can also be accessed at request.connection.
});
したがって、IDをチェックするミドルウェアを実装する必要があります。
session prediction
を防止したい場合 、session sidejacking
など。Cookie、IP、ソケット、アイデアを組み合わせて、アプリの安全性を高める必要があります。
セッションマネージャを作成したら、単純なobject
でセッションを保存する場所を選択できます。 、redis
で 、mongodb
で 、mysql
で ...(express
MemoryStore
を使用する デフォルトですが、現在はそうではないかもしれません)