سؤال

أحاول استخدام Forms.signout ولكن في بعض الأحيان لا يقوم بتسجيل خروج المستخدم ولا يزال بإمكانه التنقل عبر موقع الويب.

كيف يمكنني حل هذا؟لقد قمت أيضًا بتكوين مصادقة نماذج web.config، لكنها لا تزال لا تعمل.

أنا أستخدم FormsAuthentication للمصادقة على مستخدم يمرر تسجيل الدخول الخاص به.

شكرًا!!

هل كانت مفيدة؟

المحلول

لا أعرف ما هو السبب ولكن هناك بعض الأشياء التي قد تفكر فيها/تجربها

  • هل ما زالوا قادرين بالفعل على زيارة الصفحات التي أنشأها الخادم أم أنهم سيعودون للتو إلى الإصدارات المخزنة مؤقتًا محليًا؟ماذا يحدث عندما يتسببون في إعادة النشر التي تحتوي على رمز للتحقق مما إذا كان قد تمت مصادقتهم، فهل ينجح ذلك أم أنه يفشل؟أعتقد أن المعنى الأخير قد تم تسجيل خروجهم ولكن عرض الإصدارات المخزنة مؤقتًا من الصفحة التي تم تسجيل الدخول إليها وفي هذه الحالة تريد إرشاد العميل بعدم تخزين الصفحات مؤقتًا باستخدام الحالات:

    Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1));Response.Cache.SetCacheability(HttpCacheability.NoCache);Response.Cache.SetNoStore();

  • يمكنك محاولة تعيين ملف تعريف الارتباط يدويًا على أن تنتهي صلاحيته ولكن هذا يعد اختراقًا

    FormsAuthentication.SignOut();context.Response.Cookies.Item(FormsAuthentication.FormsCookieName).Expires = Date.Now;Response.Redirect("~/Somewhere.aspx");

نصائح أخرى

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top