আমার মনে হচ্ছে এটি ডকুমেন্টেশনে কোথাও কবর দিতে হবে, তবে আমি এটি খুঁজে পাচ্ছি না।
এক্সপ্রেসজেএস-এ আপনি কীভাবে কোনও সেশন বন্ধ বা শেষ বা হত্যা (যাই হোক না কেন) করেন?
উত্তর:
সেশন হ্যান্ডলিং আর এক্সপ্রেস মধ্যে নির্মিত হয় না। এই উত্তরটি মানক সেশন মডিউলটিকে বোঝায়: https://github.com/expressjs/session
সেশন ডেটা সাফ করার জন্য, সহজভাবে ব্যবহার করুন:
req.session.destroy();
ডকুমেন্টেশন এটিতে কিছুটা অকেজো। এটা বলে:
সেশনটি ধ্বংস করে, পুনরায় মূল্যায়ন অপসারণ করে পরবর্তী অনুরোধটি পুনরায় উত্পন্ন করা হবে।
req.session.destroy(function(err) { // cannot access session here })
এর অর্থ এই নয় যে বর্তমান সেশনটি পরবর্তী অনুরোধে পুনরায় লোড হবে। এর অর্থ হ'ল পরবর্তী অনুরোধে আপনার সেশন স্টোরে একটি পরিষ্কার খালি অধিবেশন তৈরি করা হবে। (সম্ভবতঃ সেশন আইডি পরিবর্তন হচ্ছে না, তবে আমি এটি পরীক্ষা করিনি))
কিছু মনে করবেন না, এটা req.session.destroy();
req.session.destroy();
অ্যাসিডঘোস্টের মতো ব্যবহৃত হয় Used
কী ধরণের সেশন স্টোর ব্যবহার করা হচ্ছে তা প্রশ্নটি পরিষ্কার করে দেয়নি। উভয় উত্তর সঠিক বলে মনে হচ্ছে।
কুকি ভিত্তিক সেশনের জন্য:
Http://expressjs.com/api.html# কুকিসেশন থেকে
req.session = null // Deletes the cookie.
রেডিস ইত্যাদি ভিত্তিক সেশনের জন্য:
req.session.destroy // Deletes the session in the database.
Http://expressjs.com/api.html# কুকিসেশন থেকে
কোনও কুকি সাফ করার জন্য সাড়া দেওয়ার আগে সেশনটি বাতিল করে দিন:
req.session = null
ব্যবহার,
delete req.session.yoursessionname;
সেশনটি ধ্বংস করে এবং পুনরায় মূল্যায়ন সম্পত্তিটি আনসেট করবে। একবার সম্পূর্ণ হয়ে গেলে, কলব্যাকটি শুরু করা হবে।
↓ নিরাপদ উপায় ↓ ✅
req.session.destroy((err) => {
res.redirect('/') // will always fire after session is destroyed
})
↓ অনিরাপদ উপায় ↓ ❌
req.logout();
res.redirect('/') // can be called before logout is done
ব্যবহার করে req.session = null;
, প্রকৃতপক্ষে সেশন উদাহরণটি মুছবে না। সবচেয়ে উপযুক্ত সমাধানটি হবে req.session.destroy();
তবে এটি মূলত একটি মোড়ক delete req.session;
।
https://github.com/expressjs/session/blob/master/session/session.js
Session.prototype.destroy = function(fn){
delete this.req.session;
this.req.sessionStore.destroy(this.id, fn);
return this;
};
বেশ কয়েকটি জায়গায় উল্লিখিত হিসাবে, আমি req.session.destroy () ফাংশনটি সঠিকভাবে কাজ করতেও সক্ষম নই।
এটি আমার চারপাশের কাজ .. কৌশলটি মনে হচ্ছে এবং এখনও req.flash ব্যবহার করার অনুমতি দেয়
req.session = {};
আপনি যদি মুছুন বা সেট করুন req.session = নাল; , তখন মনে হয় আপনি req.flash ব্যবহার করতে পারবেন না