Anda perlu memahami perbedaan antara server ekspres dan server NodeJS asli, di sini tautan saya perbandingan server nodejs vs server ekspres
Jadi Anda dapat melakukan:
var app = express();
var server = http.createServer(app);
Ini memungkinkan Anda untuk tetap memiliki fungsi tingkat rendah dengan NodeJS.
Jadi, jika Anda tidak ingin menggunakan modul atau kerangka kerja yang ada, Anda dapat membuat pengelola sesi Anda sendiri:
- menggunakan kuki
- menggunakan IP/UA
- menggunakan soket
Cara terbaik adalah mengimplementasikannya terlebih dahulu dengan soket , misalnya:
server.on('connection', function (socket) {
socket.id = id;
});
atau
server.on('request', function (req, res) {
req.connection.id = id; // The socket can also be accessed at request.connection.
});
Jadi, Anda hanya perlu mengimplementasikan middleware yang memeriksa id.
Jika Anda ingin mencegah session prediction
, session sidejacking
, dll. Anda perlu menggabungkan cookie, ip, socket, dan ide Anda untuk membuatnya lebih aman untuk aplikasi Anda.
Setelah Anda menyelesaikan manajer sesi, Anda dapat memilih tempat untuk menyimpan sesi, dalam object
sederhana , dalam redis
, di mongodb
, di mysql
... (express
gunakan MemoryStore
secara default, tapi mungkin tidak sekarang)