سؤال

هل هناك أي طريقة لتوفير وظيفة تسجيل الخروج للموقع الذي يستخدم ASP الكلاسيكي، والذي يستخدم مصادقة Windows (أي المجلدات المقيدة لها أذوناتها التي تحتوي على أذوناتها عبر نظام التشغيل، ويتم تخزين أسماء المستخدمين / كلمات المرور في Active Directory)؟

إذا كان ذلك يحدث أي فرق، يقوم الخادم بتشغيل IIS 5.0. يحتاج تسجيل الخروج إلى العمل ل IE (6 و 7 و 8) و Firefox على الأقل.

لاحظ أن هذا موقع قديم وحدي إلى حد ما - مئات من صفحات ASP الفردية - لذلك أي حل يشمل تغيير الصفحات الفردية لن يعمل ببساطة. (لنفس السبب، وكذلك المداراة الأساسية، من فضلك لا توحي بالتغيير إلى ASP.NET.)

ما وجدته حتى الآن يشير إلى إرسال رمز استجابة 401 ربما تسبب بعض المتصفحات لمسح المصادقة، ولكن (1) لا أعرف كيفية القيام بذلك، و (2) كنت أفضل شيء يعمل في الواقع، بدلا من مجرد فرصة للعمل. أعلم أيضا أن الاضطراب مع كائن الجلسة (.abandon، على سبيل المثال) سيكون بلا معنى تماما لأن هذا ليس المكان الذي تتم المصادقة.

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

المحلول

استخدامك مصطلح "تسجيل الخروج" مربك. عادة ما يتم إعادة النظر في مواقع المواقع لإدارة تسجيلات الدخول / الرباطات وهذا عادة باستخدام كائن الجلسة ولكن هذا ليس ما تتحدث عنه.

أدرز شيئين محتملين قد تتحدث عنه.

مصادقة الاتصال

أولا حقيقة أن مصادقة النوع الذي تم تنفيذه بواسطة أمان Windows المتكامل يتم تنفيذه على مستوى الاتصال. بمجرد مصادقة الاتصال بحيث يمكن استخدام الاتصال (الذي ضمن HTTP / 1.1 بشكل افتراضي الحفاظ عليه في حالة مفتوحة) دون حاجة أخرى لمصرفات المصادقة.

قد يكون من الممكن إقناع العميل أو الخادم بإغلاق الاتصال من خلال Connection: close رأس في الاستجابة ولكن هذا قد لا يؤدي في الواقع إلى إغلاق الاتصال.

بالإضافة إلى ذلك، قد يكون لدى العميل اتصالا أو أكثر من اتصالات مصادقة مفتوحة في كل مرة. هذه الحالة لن يؤدي النهج أعلاه إلى إغلاق واحد منهم فقط.

الاستنتاج هنا هو أنه لا يوجد ضئيل يمكنك القيام به حول الاتصالات المصادقة في مستوى الجلسة.

التخزين المؤقت لأطباق الاعتماد

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

خاتمة

الجواب على (على الأقل سؤال أدركك يسأل) هو: لا يمكنك.

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