كيفية إعداد Apache Redirect أو وثيقة مخصصة 401 على فشل تسجيل الدخول إلى Kerberos SSO

StackOverflow https://stackoverflow.com/questions/2040802

سؤال

لدي برنامج إعداد Kerberos SSO الخاص، وأنا استخدم Apache و JBoss مع MOD_JK. Apache هو حماية (بواسطة Kerberos) صفحة تسجيل الدخول التلقائي. HTM مع التكوين التالي:

<Location /auto-login.htm>  
AuthType           Kerberos  
AuthName           "Kerberos Active Directory Login"  
KrbMethodNegotiate on  
KrbMethodK5Passwd  on  
KrbAuthRealms      KRB.SOMEDOMAIN.COM  
KrbServiceName     HTTP/server.somedomain.com@KRB.SOMEDOMAIN.COM  
Krb5Keytab         /etc/krb/krb5.keytab  
KrbVerifyKDC       on  
KrbAuthoritative   on  
require            valid-user  
#ErrorDocument 401  /login.htm  
</Location>

يعمل هذا بنسبة 100٪ وأنا قادر على تسجيل الدخول باستخدام Kerberos / SSO وقراءة متغير Remote_User في تطبيق Java الخاص بي.

الآن المشكلة هي أنني أريد إعادة التوجيه إلى تسجيل الدخول غير المحمي. HTM إذا كان المستخدم غير قادر على تسجيل الدخول عبر Kerberos / SSO. كان الحل الذي أدلى به في الاعتبار تحديد وثيقة 401، ومع ذلك، عندما قمت بتعيين هذا الأمر من خلال uncommenting في #ERRORDOCMENTER 401 في التعليمات البرمجية أعلاه، فإنه دائما يعيد توجيه إلى Login.htm كإرجاع 401 لطلب بيانات اعتماد المستخدمين بطبيعتها جزء من Kerberos / عملية مصادقة SSO. وبالتالي، فإن النتيجة هي المستخدمين دائما في نهاية المطاف عند تسجيل الدخول.htm وعدم إكمال عملية تسجيل الدخول Kerberos / SSO.

سيتم تقدير أي مساعدة أو حل بديل.

شكرا لك مقدما
بيير. بيير

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

المحلول

من أجل عدم مقاطعة عملية مصادقة Kerberos / SSO، استخدم ما يلي:

ErrorDocument 401 "<html><meta http-equiv=\"refresh\" content=\"0;url=/login.htm\"></html>"

سيؤدي ذلك إلى حدوث إعادة توجيه فقط عند النقر فوق المستخدم إلغاء في مربع الحوار "متصفح".

نصائح أخرى

بالنسبة لأي خطوة مشتركة بين المتوسط، ربط المحتويات المذكورة أعلاه في دفق HTTP، مثل Servlet، باستثناء المصادقة الناجحة التي تم إرجاعها.

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