У меня есть приложение Spring Boot, работающее в настоящее время под Tomcat 8.5, в которое встроен SSO на основе shibboleth. Shibboleth и tomcat подключаются с помощью apache2 mod_shib и mod_jk с использованием пакетов Debian 9 по умолчанию.
Сейчас я пытаюсь обновить среду приложения до Debian 10 (и, следовательно, tomcat 9), и большинство вещей работает с небольшими изменениями конфигурации, за исключением проверки подлинности на основе Shibboleth.
Если звонить /логин/шибболет
(который настроен в apache для аутентификации с использованием shibboleth, а затем входа в приложение с использованием предоставленных общих переменных shibboleth), протокол аутентификации shibboleth SAML2 выполнен правильно (и сеанс shibboleth может быть запрошен после в apache), но метод обработчика за /логин/шибболет
не вызывается (я проверил это с помощью удаленной отладки), но сам tomcat отказывается:
Статус HTTP 403 — Запрещено
Тип отчета о состоянии
Описание Сервер понял запрос, но отказывается авторизовать его.
Apache Tomcat/9.0.31 (Debian)
Я попытался изучить эту проблему, и одним из возможных решений, похоже, было использование секрета в коннекторе AJP. Определение одного (в файле server.xml tomcat9), похоже, не меняет поведения (также, mod_jk вроде нет соответствующей опции, поэтому мне интересно, как Любые функция работает, когда секрет настроен).
Есть ли у кого идеи по поводу:
- Что может вызвать эту проблему.
- Каковы возможные решения.