2014-11-10 3 views
0

Я пытаюсь настроить собственный фильтр безопасности для моей Spring Boot webapp. Вначале я настроил его на регистрацию пользовательской формы из Angular JS, но теперь я пытаюсь отключить эту конфигурацию и реализовать фильтр SSO Siteminder. Я использую RequestHeaderAuthenticationFilter, предоставленный Spring. Я также опубликую конфигурацию. Но когда я добавляю эту конфигурацию, она переходит в бесконечный цикл, когда я вытягиваю свой webapp после запуска сервера. Вот бесконечный цикл. Пожалуйста, дайте мне знать, если вы хотите посмотреть дополнительную конфигурацию или детали, но это меня преследует с недели. Любая помощь будет оценена. Благодаря !Spring Boot + Spring Security + Пользовательский фильтр (siteminder) - Infinte Loop

======================Infinite Loop Start========================= 

[ERROR] org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/mpe].[dispatcherServlet] - Servlet.service() for servlet dispatcherServlet threw exception 
java.lang.StackOverflowError: null 
    ====================================624 Times Start============================================= 
    at javax.servlet.ServletRequestWrapper.isAsyncStarted(ServletRequestWrapper.java:390) ~[servlet-api.jar:3.0.FR] 
    =====================================624 Times End============================================ 

    at org.apache.catalina.core.ApplicationDispatcher.unwrapRequest(ApplicationDispatcher.java:846) ~[catalina.jar:7.0.55] 

    ====================================40Times Start==================== 
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748) ~[catalina.jar:7.0.55] 
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486) ~[catalina.jar:7.0.55] 
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:411) ~[catalina.jar:7.0.55] 
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338) ~[catalina.jar:7.0.55] 
    at org.springframework.boot.context.web.ErrorPageFilter.forwardToErrorPage(ErrorPageFilter.java:155) ~[spring-boot-1.1.3.RELEASE.jar:1.1.3.RELEASE] 
    at org.springframework.boot.context.web.ErrorPageFilter.handleException(ErrorPageFilter.java:138) ~[spring-boot-1.1.3.RELEASE.jar:1.1.3.RELEASE] 
    at org.springframework.boot.context.web.ErrorPageFilter.doFilter(ErrorPageFilter.java:108) ~[spring-boot-1.1.3.RELEASE.jar:1.1.3.RELEASE] 
    at org.springframework.boot.context.web.ErrorPageFilter.doFilter(ErrorPageFilter.java:89) ~[spring-boot-1.1.3.RELEASE.jar:1.1.3.RELEASE] 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) ~[catalina.jar:7.0.55] 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) ~[catalina.jar:7.0.55] 
    ====================================40 Times End=========================================== 

    ====================================Infinite Loop End============================================ 

ответ

1

Бесконечный цикл из-за неправильной конфигурации. Некоторые распространенные причины:

  • Если у вас есть страница «отказано в доступе», она НЕ должна быть защищена вашим фильтром безопасности. В противном случае защитный фильтр будет вызываться бесконечно.
  • Если вы используете JSP или другую технологию шаблонов, убедитесь, что у вас нет infinitely recursive includes.
1

Я вижу из трассировки стека, что Spring Boot ErrorPageFilter участвует в бесконечном цикле и что вы используете версию 1.1.3.RELEASE из Spring Boot. A change was made в Spring Boot 1.1.5, чтобы гарантировать, что его ErrorPageFilter управляется только один раз за запрос. Вы должны перейти на последнюю версию Spring Boot (1.1.8.RELEASE на момент написания). Он либо полностью разрешит вашу проблему, либо позволит вам увидеть основную проблему, как только бесконечный цикл будет в стороне.

+0

Чувак! вы спаситель! С благодарностью Спасибо тонну! Хотелось бы, чтобы я опубликовал это раньше, вместо того, чтобы ударить головой об этом! – PavanSandeep

Смежные вопросы