ธรรมชาติของเซสชั่นทำได้โดยใช้คุกกี้
หลักการคือประมาณ: HTTP นำเซิร์ฟเวอร์มาตั้งค่าคุกกี้ล่วงหน้าเซิร์ฟเวอร์จะได้รับคุกกี้ที่ทำเครื่องหมายด้วยตัวตนของผู้ใช้จากนั้นไปยังตำแหน่งที่คงที่ (ฐานข้อมูลไฟล์) เพื่อดึงข้อมูลประจำตัวของผู้ใช้ที่เกี่ยวข้อง กำหนดตัวตนให้กับคำขอสำหรับคำขอนี้และตัวตนของผู้ใช้จะเป็นที่รู้จักในระหว่างการประมวลผลโปรแกรม (จะถูกนำไปใช้โดยอัตโนมัติใน PHP, ASP หรือภาษาเซิร์ฟเวอร์อื่น ๆ )
ใช้คุกกี้
คุกกี้ที่สามารถระบุตัวตนของผู้ใช้จะต้องตั้งค่าสำหรับผู้ใช้แต่ละคน สามารถใช้กฎต่อไปนี้ได้
ลงทะเบียนค่า Mailbox MD5 + รหัสผ่านค่า MD5 + ค่ารหัสสุ่ม MD5 (ตัวอย่างเช่นนี่อาจไม่ใช่ทางออกที่ดี)
ข้อมูลโค้ดเซิร์ฟเวอร์:
การคัดลอกรหัสมีดังนี้: res.setheader ("set-cookie", ["sid ="+newuser.tocookie ()+"; path =/; domain ="+config.domain+"; expires ="+วันที่ใหม่ ("2030"));
คุกกี้
การคัดลอกรหัสมีดังนี้: SID = 275FCCAB7935736FF68C95C3DDBFAAEE | 275FCCAB7935736FF68C95C3DDBFAAEE | 275FCCAB7935736F68C95C3DBFAAEEEE
ใช้คุกกี้เพื่อรับข้อมูลประจำตัวของผู้ใช้และตั้งค่าเซสชัน
ส่งคำขอทรัพยากรที่ไม่คงที่ทั้งหมดที่นี่สำหรับการประมวลผล รับคุกกี้แยกคุกกี้และมองหาผู้ใช้ที่ตรงตามเกณฑ์ในฐานข้อมูล สุดท้ายใช้ถัดไปเพื่อข้ามไปยังตรรกะคำขอถัดไป
ตรรกะคำขอถัดไปสามารถใช้ req.session.user โดยตรงเพื่อรับวัตถุผู้ใช้
การคัดลอกรหัสมีดังนี้: เซสชัน: ฟังก์ชัน (req, res, ถัดไป) {
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, function (สถานะ) {
//console.log("HexFind ", สถานะ);
if (status.code == "0") {
//req.cookiesselecter = cookiesselecter;
req.session.user = status.result;
-
ต่อไป();
-
}อื่น{
ต่อไป();
-
-
ข้างต้นคือการใช้งานง่าย ๆ ของเซสชัน NodeJS ฉันหวังว่ามันจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น