সেশনস্টেটের সময়সীমা বনাম ফর্ম প্রমাণীকরণের সময়সীমা


139

আমার কাছে কোড রয়েছে যা আমি ওয়েবসাইটটির সেশন সময় আউট সম্পর্কে সন্ধান করছি। ওয়েব কোডফাইগ এ আমি এই কোডটি জুড়ে এসেছি।

 <authentication mode="Forms">
  <forms loginUrl="~/Auth/SignOn.aspx" timeout="40" slidingExpiration="true" />
</authentication>

<sessionState timeout="30" />

কেউ কি জানেন যে কেউ একজনের অপরটির চেয়ে বেশি নজরে নেয় এবং সেগুলি কীভাবে আলাদা। ধন্যবাদ।


উত্তর:


226

তারা বিভিন্ন জিনিস। ফর্ম প্রমাণীকরণের টাইমআউট মানটি প্রমাণীকরণ কুকিটি বৈধ হিসাবে সেট হওয়ার মিনিটের মধ্যে সময়টির পরিমাণ নির্ধারণ করে, এর অর্থ, valueকয়েক মিনিটের পরে কুকির মেয়াদ শেষ হবে এবং ব্যবহারকারীকে আর প্রমাণীকরণ করা হবে না — তাদের লগইনে পুনঃনির্দেশিত করা হবে পৃষ্ঠা স্বয়ংক্রিয়ভাবে। slidingExpiration=trueমান মূলত বলছে যে যতদিন ব্যবহারকারী সময়সীমার মান মধ্যে একটি অনুরোধ তোলে, তারা প্রামাণ করা (আরো বিস্তারিত জানার অব্যাহত থাকবে এখানে )। যদি আপনি সেট slidingExpiration=falseকরে থাকেন valueতবে ব্যবহারকারী সময়সীমার মানের মধ্যে কোনও অনুরোধ করে কিনা তা নির্বিশেষে কয়েক মিনিটের পরে প্রমাণীকরণের কুকির মেয়াদ শেষ হবে ।

SessionStateসময়সীমার মান সেট একটি নির্দিষ্ট সেশনের জন্য সময় পরিমাণ একটি সেশন অবস্থা প্রদানকারী মেমরি হোল্ড তথ্য প্রয়োজন বোধ করা হয় (অথবা যাই হোক না কেন ব্যাকিং দোকান ব্যবহৃত হচ্ছে, এসকিউএল সার্ভার, OutOfProc, ইত্যাদি)। উদাহরণস্বরূপ, আপনি যদি উদাহরণের মানটি ব্যবহার করে কোনও বিষয় সেশনে রেখে দেন তবে 30 মিনিটের পরে এই ডেটাটি সরানো হবে। ব্যবহারকারী এখনও প্রমাণীকৃত হতে পারে তবে সেশনে ডেটা আর উপস্থিত থাকতে পারে না। Session Timeoutমান সবসময় যে অনুরোধ পর রিসেট করা হয়।


26
একটি স্পষ্টতা: ফর্ম প্রমাণীকরণের সময়সীমা টিকিটের জন্য মেয়াদ নির্ধারিত সময় সেট করে যে অগত্যা কুকি যেখানে টিকিট সংরক্ষণ করা যেতে পারে তার জন্য নয়। কুকির কোনও শেষ হওয়ার সময় থাকতে পারে না (বিভ্রান্তিমূলকভাবে একটি সেশন কুকি বলা হয়, যার অর্থ এটি ব্যবহারকারী ব্রাউজারটি বন্ধ না হওয়া পর্যন্ত স্থায়ী হয়), বা এমনকি কোনও কুকিও নাও থাকতে পারে ("কুকিবিহীন" ফর্ম প্রমাণীকরণ)। ধ্রুবক কুকির ক্ষেত্রে, ফর্ম প্রমাণীকরণ কুকির সমাপ্তি এবং একই সময়ে টিকিটের মেয়াদ নির্ধারণ করে।
বমোড

13
এমএসডিএন থেকে অন্য একটি স্পষ্টতা: "আপত্তিজনক সম্পাদনা রোধ করতে এবং কুকি সতর্কতা চালু করা ব্যবহারকারীদের জন্য একাধিক ব্রাউজার সতর্কতা এড়াতে, নির্দিষ্ট সময়ের অর্ধেকেরও বেশি সময় অতিবাহিত হয়ে গেলে কুকি আপডেট করা হয়।" সুতরাং কুকির সময়সীমাটি অর্ধেক হলেই পুনরায় সেট করা হয়। সুতরাং অধিবেশন সময়সীমা 2x এ সেট করার পরামর্শ।
ব্যবহারকারী 917170

21

স্লাইডিংএক্সপায়ার = সত্য মানটি মূলত বলছে যে প্রতিটি অনুরোধ করার পরে, টাইমারটি পুনরায় সেট করা হয় এবং ব্যবহারকারী যতক্ষণ না সময়সীমার মানের মধ্যে একটি অনুরোধ করে, ততক্ষণ তিনি প্রমাণীকরণ অব্যাহত রাখবেন।

এটি সঠিক নয়। সময়সীমাটির অর্ধেক সময় পার হয়ে গেলে প্রমাণীকরণের কুকির সময়সীমাটি পুনরায় সেট হবে।

উদাহরণস্বরূপ দেখুন https://support.microsoft.com/de-ch/kb/910439/en-us বা https://itworksonmymachine.wordpress.com/2008/07/17/forms-authentication-timeout-vs-session -সময় শেষ/


18

আমি যা বুঝি সেগুলি থেকে তারা একে অপরের থেকে স্বাধীন। প্রমাণীকরণের সময়সীমার চেয়ে কম বা তার সমতুল্য সেশনের সময়সীমা রেখে, আপনি নিশ্চিত করতে পারেন যে কোনও ব্যবহারকারী-নির্দিষ্ট অধিবেশন ভেরিয়েবলগুলি প্রমাণীকরণের সময় শেষ হওয়ার পরেও অজানা থাকে না (যদি এটি আপনার উদ্বেগ, যা আমি মনে করি এটি সাধারণ জিজ্ঞাসা করার সময় স্বাভাবিক প্রশ্ন)। অবশ্যই, লগ-আউট করার পরে আপনাকে ম্যানুয়ালি সেশন ভেরিয়েবলগুলি নিষ্পত্তি করতে হবে।

এখানে একটি শালীন প্রতিক্রিয়া যা আপনার প্রশ্নের উত্তর দিতে পারে বা কমপক্ষে আপনাকে সঠিক দিকে নির্দেশ করতে পারে:


7

পার্থক্যটি হ'ল এক (ফর্মস টাইমআউট) ব্যবহারকারীর অনুমোদনের সাথে সম্পর্কযুক্ত এবং অন্যটি (সেশনের সময়সীমা) সার্ভারে কতক্ষণ ক্যাশেড ডেটা সংরক্ষণ করা হয় তার সাথে সম্পর্কিত। সুতরাং এগুলি খুব স্বাধীন জিনিস, তাই একজন অন্যটির চেয়ে বেশি প্রাধান্য দেয় না।


5
      <sessionState timeout="2" />
      <authentication mode="Forms">
          <forms name="userLogin" path="/" timeout="60" loginUrl="Login.aspx" slidingExpiration="true"/>
      </authentication>

এই কনফিগারেশনটি প্রতি দুই মিনিটে আমাকে লগইন পৃষ্ঠায় প্রেরণ করে, যা মনে হয় পূর্ববর্তী উত্তরগুলিকে বৈপরীত্য বলে মনে হচ্ছে


1
এটি ঘটতে পারে যদি লগইন সম্পর্কিত তথ্য সেশন ভেরিয়েবলগুলিতে সংরক্ষণ করা হয় এবং যখন এটি সাফ হয়ে যায়, এটি লগইনে পুনর্নির্দেশ করে। সুতরাং এটি কোডের উপর নির্ভর করে?
স্টিভ

0

এই প্রশ্নটি নিয়ে যে কেউ হোঁচট খাচ্ছে তার জন্য এমএস থেকে এই ডকুমেন্টেশনটি উল্লেখ করুন - এতে ফর্মস অ্যাটেন্টিফিকেশন টাইমআউট সেটিং সম্পর্কিত সত্যিই ভাল বিবরণ রয়েছে।

এই ডকটি স্বীকৃত উত্তরটিতে বমোড যে মন্তব্য করছেন সে সম্পর্কে বিস্তারিত ব্যাখ্যা করেছেন - পার্সেন্টেন্ট কুকি সম্পর্কে (সেশন বনাম মেয়াদ শেষ হবে)

https://docs.microsoft.com/en-us/aspnet/web-forms/overview/older-versions-security/introduction/forms-authentication-configuration-and-advanced-topics-cs#specifying-the-tickets- সময়সীমার-মান

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.