Код: Выделить всё
There was an unexpected error (type=Not Found, status=404).
No static resource login/saml2/sso/customer.
org.springframework.web.servlet.resource.NoResourceFoundException: No static resource login/saml2/sso/customer.
at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585)
at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at org.springframework.web.filter.AbstractRequestLoggingFilter.doFilterInternal(AbstractRequestLoggingFilter.java:289)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
...
/>Проблема в том, что Saml2WebSsoAuthenticationFilter должен был его обработать, но поскольку urlrewrite перенаправил запрос, Saml2WebSsoAuthenticationFilter отказывается распознавать, что он должен его обработать. Я тестировал его несколько раз, используя обычные запросы (т. е. не пересылаемые) к новому URL-адресу (т. е. /login/saml2/sso/customer), и он работает нормально. Итак, я знаю, что Saml2WebSsoAuthenticationFilter присутствует в цепочке, и что, если запрос не пересылается, он БУДЕТ его обрабатывать.
По умолчанию Springboot 3.x должен обрабатывать типы диспетчера пересылки, запроса и т. д. Но я не вижу, чтобы это происходило. Насколько я могу судить, любой запрос будет отправлен в цепочку фильтров, но я не могу понять, почему Saml2WebSsoAuthenticationFilter продолжает игнорировать перенаправленные запросы.
Свидетельство того, что «любой запрос» будет обработан и сопоставителем является AnyRequestMatcher:
Код: Выделить всё
[DEBUG] 2025-10-17 16:30:06.256 [restartedMain] o.s.s.w.DefaultSecurityFilterChain - Will secure any request with filters: DisableEncodeUrlFilter, WebAsyncManagerIntegrationFilter, SecurityContextHolderFilter, HeaderWriterFilter, CsrfFilter, LogoutFilter, Saml2WebSsoAuthenticationRequestFilter, Saml2MetadataFilter, Saml2WebSsoAuthenticationFilter, AccountWhiteListFilter, AccountDomainFilter, JsonLoginFilter, Saml2MetadataFilter, RequestCacheAwareFilter, SecurityContextHolderAwareRequestFilter, AnonymousAuthenticationFilter, ExceptionTranslationFilter, AuthorizationFilter
Подробнее здесь: https://stackoverflow.com/questions/797 ... d-requests
Мобильная версия