Am o aplicație Spring Boot care rulează în prezent sub Tomcat 8.5 care are integrat un SSO bazat pe Shibboleth. Shibboleth și tomcat sunt conectate folosind apache2 mod_shib și mod_jk, folosind pachetele implicite Debian 9.
Încerc acum să actualizez mediul aplicației la Debian 10 (și astfel tomcat 9) și majoritatea lucrurilor funcționează cu modificări minore de configurare, cu excepția autentificării bazate pe Shibboleth.
Dacă suni /login/shibboleth
(care este configurat în apache pentru a se autentifica folosind shibboleth, apoi autentificați-vă în aplicație folosind variabilele partajate shibboleth furnizate), protocolul de autentificare shibboleth SAML2 este corect realizat (și sesiunea shibboleth poate fi interogată după în apache), dar metoda handlerului pentru /login/shibboleth
nu este numit (am verificat acest lucru folosind depanarea la distanță), dar este refuzat de tomcat însuși:
Stare HTTP 403 â Interzis
Tastați Raport de stare
Descriere Serverul a înțeles cererea, dar refuză să o autorizeze.
Apache Tomcat/9.0.31 (Debian)
Am încercat să analizez această problemă și o soluție posibilă părea să fie folosirea unui secret în conectorul AJP. Definirea unuia (în serverul tomcat9.xml) nu pare să schimbe niciun comportament (de asemenea, mod_jk nu pare să aibă o opțiune corespunzătoare, așa că mă întreb cum orice funcția funcționează când este configurat un secret).
Are cineva idei despre:
- Ce poate cauza această problemă.
- Care sunt soluțiile posibile.