[MUSIC]
في هذا التمرين، سننظر في استخدام جلسات Express.
سنقوم بإعداد الوسيطة للجلسات السريعة،
ثم تخزين ملف الجلسات السريعة الوسيطة.
ثم قم بإعداد تطبيقنا لاستخدام جلسات صريحة بدلاً من
استخدام ملفات تعريف الارتباط الخاصة بهم كما فعلنا في التمرين السابق.
سنرى أيضًا كيفية تعقب معلومات الجلسة نفسها تحت
جانب الخادم.
للبدء في هذا التمرين،
انتقل إلى مجلد ConfusionServer في المحطة الطرفية أو
نافذة الأوامر، ثم دعنا نقم بتثبيت جلسة Express-sion.
للقيام بذلك، اكتب npm install Express-session،
ثم مخزن ملف الجلسة.
لأننا سنستخدم مخزن الملفات لاستمرار معلومات الجلسة.
لذلك سيتم تثبيت مخزن الجلسة في وحدة هنا لهذا الغرض.
بمجرد تثبيت كل من هذه، وكما ترون الآن،
أستخدم جلسة صريحة 1.15.6
وتخزين ملف الجلسة 1.2.0 في هذه الدورة.
بمجرد تثبيت كل منهما، دعنا نذهب إلى تطبيق ConfusionServer الخاص بنا.
الذهاب إلى تطبيق ConfusionServer
، هنا، دعونا الآن استيراد جلسة التعبير.
لذلك سنقول، جلسة فار تتطلب، جلسة صريحة.
و فار فيليستور = تتطلب
جلسة -ملف مخزن.
وهذا يأخذ الجلسة كمعلمات لها،
هذه الجلسة تشير إلى هذا الذي قمنا باستيراده للتو هنا.
الآن بمجرد القيام بذلك، ثم نذهب إلى رمزنا هنا،
وبعد ذلك سنرى بدلا من كوكيبارسر.
لذلك أنا ذاهب للتعليق على كوكيبارسر من هناك،
وبعد ذلك سوف تستخدم الآن، جلسة هنا.
وبعد ذلك، سنقوم بإعداد الجلسة مع
الخيارات المختلفة، سنقول الاسم،
أنا فقط باستخدام معرف جلسة عشوائي هنا، وبعد ذلك، سر.
سأستخدم السر الذي استخدمته في وقت سابق
لذلك اسمحوا لي فقط نسخ تلك السلسلة هناك.
ثم، حفظ، تشغيل، حفظ
غير مهيأ حفظ كاذبة.
إعادة الحفظ، كاذبة.
الأطروحات لن تجعل مختلفة كثيرا عن التطبيق البسيط الذي نكتبه في
هذه اللحظة.
وبعد ذلك سنقول أن المتجر جديد،
FileStore الذي أعلنناه في وقت سابق.
هذا كل شيء
الآن يتم إعداد الوسيطة جلسة العمل الخاصة بي للاستفادة من تطبيقنا.
الآن، كما ذكرت، فإن هذه الوسيطة الدورة إضافة هذا
req.session إلى رسالة الطلب،
لذلك سأقوم بعمل سجل وحدة التحكم من req.session فقط لمعرفة ما يحتوي عليه.
ثم، أسفل هنا، بدلا من التحقق من ريق تعيين ملفات تعريف الارتباط المستخدم،
وأنا ذاهب للتحقق من req.session.user هنا.
وبعد ذلك، سنلقي نظرة على رأس التفويض، وهلم جرا.
كل هذا الجزء سيبقى بالضبط كما كان من قبل.
ولكن هنا، بدلاً من إعداد ملف تعريف الارتباط، ما سأقوم بإعداده هنا هو،
بدلاً من إعداد ملف تعريف الارتباط، لذلك بدلاً من استخدام res.cookie هنا،
سنقول، req.session.user = إلى 'admin'.
لذلك سنقوم بإعداد خاصية المستخدم على
جلسة req-session إلى المشرف هنا، ثم المضي قدما من هذه النقطة.
وبالتالي فإن بقية التعليمات البرمجية هنا سوف تبقى بالضبط كما كان من قبل،
لن يكون هناك أي تغيير هنا.
وقبول هناك حق، ونحن في طريقنا إلى التحقق من req.session،
المستخدم، هو المشرف أم لا؟
إذن هذا هو الشيك الذي سنقوم به هنا
هذا كل شيء
هذه هي التغييرات التي نحتاج إلى القيام بها على
طلبنا من أجل استخدام الجلسات في مكان ملفات تعريف الارتباط الموقعة.
دعونا حفظ التغييرات ومن ثم ننظر إلى هذا الإصدار من الخادم السريع لدينا.
بالعودة إلى طرفنا أو نافذة الأوامر، دعنا نعيد تشغيل
الخادم الخاص بنا، إذا كنت الخادم قيد التشغيل، فقط قم بإيقافه وأعد تشغيل الخادم.
وبعد ذلك بمجرد تشغيل الخادم،
سنذهب إلى ساعي البريد ونفعل إذا طلبت ذلك.
الذهاب إلى ساعي البريد، دعني أوضح كل هذه الأشياء،
سنقوم بمسح الرؤوس، سنقوم بمسح التفويض.
ثم سأذهب إلى ملفات تعريف الارتباط،
وسأقوم بحذف ملف تعريف ارتباط المستخدم هذا، لأن ملف تعريف الارتباط هذا لم يعد صالحًا.
وبعد ذلك، دعونا نرسل طلب الحصول على، أطباق المضيف المحلية.
وبعد ذلك كما نتوقع، يعود قائلا، أنت غير مصدق.
الآن، لذلك دعونا مصادقة أنفسنا باستخدام المصادقة الأساسية.
لذلك سنقول، المشرف، كلمة المرور.
وبعد ذلك سنقوم بتحديث الطلب ومن
ثم سنرسل طلب GET إلى نفس النقطة.
وبعد ذلك، نحصل على الرد مرة أخرى من جانب الخادم لدينا.
الآن، لاحظ أنه في الرؤوس، والآن سترى مرة أخرى أنه قال ملف تعريف الارتباط هنا.
الآن هذا كان سببه مخزن الجلسة هنا.
وعندما تنظر إلى ملفات تعريف الارتباط، ترى أنه كان هناك ملف تعريف ارتباط آخر تم
إعداده هنا والاسم هو معرف الجلسة.
لذلك هذا هو الاسم الذي نعطيه لجلستنا هناك، لذلك
هذا هو معرف الجلسة الذي نستخدمه هنا.
وإذا نقرت على ملفات تعريف الارتباط، ستلاحظ أن معرف الجلسة موجود هناك.
وبعد ذلك، هذه هي تفاصيل ما هو داخل ملف تعريف الارتباط هناك.
حتى تتمكن من ملاحظة مجموعة كاملة من المعلومات وتاريخ انتهاء صلاحية
ملف تعريف الارتباط، وهلم جرا.
قد لا يكون هذا منطقيًا بالنسبة لك في هذه اللحظة، ولكنه موجود هناك.
الآن، اسمحوا لي أن أوضح التفويض.
وأيضًا من الرأس، دعني أزيل رأس التفويض هذا.
وبعد ذلك سأعيد إرسال الطلب،
وستلاحظ أن هذا الطلب سيتم خدمته بشكل صحيح حتى الآن.
بسبب حقيقة أن ملف تعريف الارتباط هذا موجود،
وسيتم تضمين ملف تعريف الارتباط هذا في الطلب الصادر.
وسيقوم جانب الخادم بتعيين هذا إلى الجلسة المناسبة.
وهكذا، يدرك الخادم أن هذا مستخدم معتمد
وسيرسل الرد مرة أخرى.
الآن الذهاب إلى وحدة تحكم الخادم لدينا في المحطة الطرفية أو نافذة الأوامر,
لاحظت أن, المعلومات التي يتم طباعتها على جانب الخادم.
لذا انظر، أنت تتذكر أنني كنت أقوم بتسجيل جلسة req.session هنا.
لذلك هذا هو المكان الذي يحتوي req.session في البداية.
ثم تقول، أطباق GET لأحد غير صالح.
عند هذه النقطة، تقوم بإرسال رأس التفويض المناسب هناك.
وهكذا نجاح طلبك بشكل صحيح.
لكن المذكرة, ما يجري وضعه في الدورة في الطلب التالي.
أذكر أنني أزلت رأس الأذونات ثم أرسل الطلب.
ولكن لاحظ ما يحتوي عليه rec.session هنا.
لاحظ على وجه الخصوص
أنه يحتوي الآن على حقل المستخدم هذا مع المشرف في مكانه هناك.
لذلك هذا هو ما يتلقاه الخادم من جانب العميل في ملف تعريف الارتباط.
ويحتوي ملف تعريف الارتباط نفسه على كل هذه المعلومات هنا.
وهكذا، يتعرف الخادم على أن هذا مستخدم صالح،
ثم يرسل النتائج من جانب الخادم.
الذهاب إلى ساعي البريد،
دعونا نلقي نظرة مرة أخرى على تفاصيل ما هو داخل ملف تعريف الارتباط.
لذلك عند فتح ملف تعريف الارتباط هنا،
سترى مرة أخرى كل تفاصيل المعلومات داخل ملف تعريف الارتباط هنا.
إذا نظرت إلى المحرر، فسترى الآن أنه في المحرر الخاص بك،
يوجد مجلد جديد هنا يسمى الجلسات التي تم إنشاؤها هنا.
الآن هذا لأننا كنا نستخدم مخزن الملفات
لتتبع جميع جلساتنا.
الآن هذا هو أحد الأسباب التي تجعلني أستخدم مخزن الملفات حتى أتمكن من إظهار ما
يتم تخزينه في ملف جلسة عمل على جانب الخادم الخاص بي.
حتى إذا قمت بفتح هذا الملف هنا مع الاسم الطويل هناك،
سترى في الداخل هناك، يتم تخزين معلومات الجلسة هنا.
لذلك إذا قمت باستعراض معلومات جلسة العمل هذه، لاحظ على وجه الخصوص،
هذا الحقل الأولي الموجود في جانب الخادم.
لذلك هذا هو المكان الذي يتتبع فيه الخادم كل هذه المعلومات على جانب الخادم.
الآن يتم التعرف على ملف تعريف الارتباط هذا نفسه من قبل الخادم،
لأن العميل يتضمن ملف تعريف الارتباط هذا في الطلب الوارد.
الآن أنها قادرة على الذهاب إلى مخزن الجلسات ومن ثم استرداد المعلومات،
ومن ثم تحميل هذا على req.sessions.
وبالتالي، يحتوي req.session على هذه المعلومات
الخاصة التي يستخدمها الخادم الخاص بي للتحقق للتأكد من أن
موكلي عميل معتمد.
هذا هو حول الجلسات.
مع هذا، نكمل هذا التمرين.
في هذا التمرين،
رأينا كيف يمكننا إعداد طلبنا الصريح لاستخدام الجلسات.
ورأينا أيضا كيف نستخدم مخزن الملفات لتتبع جلساتنا.
هذا هو الوقت المناسب بالنسبة لك للقيام بتعليق GET مع
الرسالة التعبير عن جلسات الجزء الأول.
[ موسيقى]