Tôi có một ứng dụng Khởi động mùa xuân hiện đang chạy trong Tomcat 8.5 có tích hợp SSO dựa trên shibboleth. Shibboleth và tomcat được kết nối bằng apache2 mod_shib và mod_jk, sử dụng các gói Debian 9 mặc định.
Tôi hiện đang cố nâng cấp môi trường của ứng dụng lên Debian 10 (và do đó là Tomcat 9) và hầu hết mọi thứ đều hoạt động với những thay đổi nhỏ về cấu hình, ngoại trừ xác thực dựa trên Shibboleth.
Nếu kêu gọi /đăng nhập/shibboleth
(được định cấu hình trong apache để xác thực bằng shibboleth, sau đó đăng nhập bên trong ứng dụng bằng các biến chia sẻ shibboleth được cung cấp), giao thức xác thực shibboleth SAML2 được thực hiện chính xác (và phiên shibboleth có thể được truy vấn sau trong apache), nhưng phương thức xử lý vì /đăng nhập/shibboleth
không được gọi (tôi đã kiểm tra điều này bằng cách sử dụng gỡ lỗi từ xa), nhưng bị chính Tomcat từ chối:
Trạng thái HTTP 403 â Bị cấm
Nhập báo cáo trạng thái
Mô tả Máy chủ đã hiểu yêu cầu nhưng từ chối cấp quyền cho nó.
Apache Tomcat/9.0.31 (Debian)
Tôi đã cố gắng xem xét vấn đề này và một giải pháp khả thi dường như là sử dụng bí mật trong trình kết nối AJP. Xác định một (trong server.xml của tomcat9) dường như không thay đổi bất kỳ hành vi nào (đồng thời, mod_jk dường như không có tùy chọn tương ứng, vì vậy tôi tự hỏi làm thế nào không tí nào hoạt động khi một bí mật được cấu hình).
Có ai có ý tưởng về:
- Điều gì có thể gây ra vấn đề này.
- Các giải pháp có thể là gì.