Am configurat Apache HTTPD ca proxy invers (pentru SSL) pentru instanța mea Artifactory și acum încerc să lucrez HTTP SSO la el.
Folosind configurația de mai jos, sunt conectat automat cu succes de la aparatul meu. Cu toate acestea, când rulez Chrome în modul Incognito (pentru a dezactiva redirecționarea Kerberos), comportamentul devine nedorit.
Ceea ce vreau să se întâmple este ca utilizatorul să fie dus în tăcere la pagina de conectare standard a Artifactory, la /ui/login
. Cu toate acestea, ceea ce se întâmplă de fapt este că browserul solicită fereastra de nume de utilizator și parolă încorporată.
Celelalte soluții pe care le-am văzut în cercetarea mea par să se bazeze pe eșecul auth-ului Kerberos sau pe care utilizatorul a apăsat anulare în această fereastră. În schimb, ceea ce încerc să răspund este că utilizatorii mei navighează la Artifactory de pe o mașină care nu este alăturată unui domeniu, care nu are un bilet Kerberos. Vreau ca acestor utilizatori să li se arate pagina de conectare standard Artifactory, mai frumoasă.
# httpd -v
Versiunea serverului: Apache/2.4.6 (Red Hat Enterprise Linux)
Server construit: 8 octombrie 2020 21:27:40
<Location />
AuthType Kerberos
AuthName "Intranet"
KrbMethodNegotiate On
KrbMethodK5Passwd Off
KrbAuthRealms DOMAIN.EXAMPLE.ORG
KrbLocalUserMapping On
Krb5KeyTab /etc/httpd/artf_ldap.keytab
Require valid-user
KrbAuthoritative On
ErrorDocument 401 "<html><meta http-equiv=\"refresh\" content=\"0;url=/ui/login\"></html>"
RewriteEngine On
RewriteCond %{REMOTE_USER} (.+)
RewriteRule . - [E=RU:%1]
RequestHeader set REMOTE_USER %{RU}e
</Location>
The ErrorDocument 401
și KrbMethodK5Passwd Off
părți au fost încercările mele de a rezolva asta eu însumi.