يتم تحقيق طبيعة الجلسة باستخدام ملفات تعريف الارتباط.
المبدأ تقريبًا: يقوم HTTP بإحضار الخادم لتعيين ملفات تعريف الارتباط مسبقًا ، يحصل الخادم على ملفات تعريف الارتباط مع هوية المستخدم ، ثم ينتقل إلى موقع ثابت (قاعدة البيانات ، ملف) لاسترداد هوية المستخدم المقابلة. قم بتعيين الهوية لطلب هذا الطلب ، وستُعرف هوية المستخدم أثناء معالجة البرنامج. (سيتم تنفيذها تلقائيًا في PHP أو ASP أو لغات الخادم الأخرى)
تنفيذ ملفات تعريف الارتباط
يجب تعيين ملف تعريف الارتباط الذي يمكن أن يشير إلى هوية المستخدم لكل مستخدم. يمكن استخدام القواعد التالية
قم بتسجيل قيمة صندوق البريد MD5 + كلمة مرور MD5 + قيمة الرمز العشوائي MD5. (على سبيل المثال فقط ، قد لا يكون هذا حلاً جيدًا)
مقتطف رمز الخادم:
نسخة الكود كما يلي: res.Setheader ("set-cookie" ، ["SID ="+NEWUSER.TOCOOKIE ()+"؛ path =/؛ domain ="+config.domain+"؛ Expires ="+Date ("2030"))) ؛
ملفات تعريف الارتباط
نسخة الكود كما يلي: SID = 275FCCAB7935736FF68C95C3DDBFAAEE | 275FCCAB7935736FF68C95C3DDBFAAEE
استخدم ملفات تعريف الارتباط للحصول على هوية المستخدم وتعيين الجلسة
توجيه جميع طلبات الموارد غير الستاطية هنا للمعالجة. احصل على ملف تعريف الارتباط ، وقسم ملف تعريف الارتباط وابحث عن المستخدمين الذين يستوفون المعايير في قاعدة البيانات. أخيرًا ، استخدم بجوار القفز إلى منطق الطلب التالي.
يمكن لمنطق الطلب التالي استخدام req.session.user مباشرة للحصول على كائن المستخدم.
نسخة الكود كما يلي: الجلسة: الدالة (req ، الدقة ، التالي) {
req.session = {} ؛
if (req.cookies && req.cookies.sid) {
var a = req.cookies.sid.split ("|") ؛
var hexmail = a [0] ؛
var hexpwd = a [1] ؛
var hexrandom = a [2] ؛
usermodel.hexfind (hexmail ، hexpwd ، hexrandom ، وظيفة (الحالة) {
//console.log("hexfind "، الحالة) ؛
if (status.code == "0") {
//req.cookiesselecter = cookiesselecter ؛
req.session.user = status.Result ؛
}
التالي()؛
}) ؛
}آخر{
التالي()؛
}
}
ما سبق هو كل الاستخدام البسيط لجلسة NodeJS. آمل أن يعطيك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.