كيفية إعداد Apache Redirect أو وثيقة مخصصة 401 على فشل تسجيل الدخول إلى Kerberos SSO
-
19-09-2019 - |
سؤال
لدي برنامج إعداد 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، باستثناء المصادقة الناجحة التي تم إرجاعها.