it-swarm.dev

مصادقة النماذج مهلة مقابل مهلة sessionState

لدي كود أتطلع إليه فيما يتعلق بوقت جلسة العمل في الموقع. في web.config صادفت هذا الرمز.

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

<sessionState timeout="30" />

هل يعرف أحد ما إذا كان لأحد الأسبقية على الآخر وكيف يختلف. شكر.

127
Lucky Luke2

إنها أشياء مختلفة. تعيّن قيمة "مهلة مصادقة النماذج" مقدار الوقت بالدقائق التي تم تعيين ملف تعريف ارتباط المصادقة عليها ليكون صحيحًا ، وهذا يعني أنه بعد value عدد الدقائق ، ستنتهي صلاحية ملف تعريف الارتباط ولن يتم المصادقة على المستخدم - سيتم إعادة توجيهها إلى صفحة تسجيل الدخول تلقائيا. تشير قيمة slidingExpiration=true بشكل أساسي إلى أنه بعد كل طلب ، تتم إعادة ضبط المؤقت ، وطالما أن المستخدم قدم طلبًا خلال قيمة المهلة ، فسيستمر توثيقه. إذا قمت بتعيين slidingExpiration=false ، فإن ملف تعريف ارتباط المصادقة سينتهي بعد value عدد الدقائق بغض النظر عما إذا كان المستخدم يقدم طلبًا خلال قيمة المهلة أم لا.

تعيّن قيمة المهلة SessionState مقدار الوقت المطلوب لموفر حالة الجلسة للاحتفاظ بالبيانات في الذاكرة (أو أي مخزن دعم قيد الاستخدام ، SQL Server ، OutOfProc ، وما إلى ذلك) لجلسة معينة. على سبيل المثال ، إذا وضعت كائنًا في الجلسة باستخدام القيمة في مثالك ، فستتم إزالة هذه البيانات بعد 30 دقيقة. قد يظل المستخدم مصادقًا ولكن البيانات في الجلسة قد لا تكون موجودة. يتم دائمًا إعادة تعيين قيمة Session Timeout بعد كل طلب.

203
Icarus

يقول slidingExpiration = القيمة الحقيقية بشكل أساسي أنه بعد كل طلب ، تتم إعادة ضبط المؤقت ، وطالما أن المستخدم قدم طلبًا خلال قيمة المهلة ، فسيظل مصادقة.

هذا ليس صحيحا. سيتم إعادة تعيين مهلة ملف تعريف الارتباط لمصادقة ملف تعريف الارتباط فقط في حالة انقضاء نصف وقت المهلة.

انظر على سبيل المثال https://support.Microsoft.com/de-ch/kb/910439/en-us أو https://itworksonmymachine.wordpress.com/2008/07/17/forms- مصادقة انتهاء المهلة مقابل جلسة المهلة/

19
Silvan Hofer

مما فهمت أنهم مستقلون عن بعضهم البعض. عن طريق الحفاظ على مهلة الجلسة أقل من أو تساوي مهلة المصادقة ، يمكنك التأكد من عدم استمرار أي متغيرات جلسة خاصة بالمستخدم بعد انتهاء مهلة المصادقة (إذا كان هذا هو ما يقلقك ، والذي أعتقد أنه العادي عند طلب ذلك سؤال). بالطبع ، سيتعين عليك التعامل مع التخلص من متغيرات الجلسة يدويًا عند تسجيل الخروج.

إليك إجابة مناسبة قد تجيب على سؤالك أو على الأقل توجهك في الاتجاه الصحيح:

18
Lopsided

يتمثل الاختلاف في أن أحدها (مهلة النماذج) له علاقة بمصادقة المستخدم والآخر (مهلة الجلسة) يتعلق بكيفية تخزين البيانات المخزنة مؤقتًا على الخادم. لذلك فهي أشياء مستقلة للغاية ، لذلك لا يتمتع أحد بالأسبقية على الآخر.

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

يرسلني هذا التكوين إلى صفحة تسجيل الدخول كل دقيقتين ، ويبدو أنه يتعارض مع الإجابات السابقة

2
shlasasha

لأي شخص يتعثر في هذا السؤال ، يرجى الرجوع إلى هذه الوثائق من MS - حيث يحتوي على تفاصيل جيدة بخصوص إعداد FormsAuthentication Timeout.

يشرح هذا المستند بالتفصيل حول تعليق bmode الذي يتم إجراؤه في الإجابة المقبولة - حول ملف تعريف الارتباط الدائم (انتهاء الجلسة مقابل انتهاء الصلاحية)

https://docs.Microsoft.com/en-us/aspnet/web-forms/overview/older-versions-security/introduction/forms-authentication-configuration-and-advanced-topics-cs#specifying-the- قيمة مهلة التذاكر

0
Naren