2015-11-24 2 views
0

У меня есть приложение для загрузки Spring Boot MVC, которое отлично работает.Сломанная труба при реализации Spring Boot Security

Я пытаюсь выполнить ряд руководств по интеграции Spring Security для управления входом пользователя, однако, как только я создам следующий класс, приложение начинает генерировать ошибку Broken pipe.

@Configuration 
public class WebSecurityConfig extends WebSecurityConfigurerAdapter { 
    @Override 
    protected void configure(HttpSecurity http) throws Exception { 
     http 
       .authorizeRequests() 
       .antMatchers("/","/home").permitAll() 
       .anyRequest().authenticated() 
       .and() 
       .formLogin() 
       .loginPage("/login") 
       .permitAll() 
       .and() 
       .logout() 
       .permitAll(); 
    } 

    @Autowired 
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { 
     auth 
       .inMemoryAuthentication() 
       .withUser("user").password("password").roles("USER"); 
    } 
} 

Я пробовал много различных руководств, думая, что, может быть, оригинальный учебник были некоторые ошибки, но это все-таки происходит.

2015-11-25 09:39:57.593 INFO 64614 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet  : FrameworkServlet 'dispatcherServlet': initialization started 
2015-11-25 09:39:57.620 INFO 64614 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet  : FrameworkServlet 'dispatcherServlet': initialization completed in 27 ms 
2015-11-25 09:39:58.970 ERROR 64614 --- [nio-8080-exec-2] o.s.boot.context.web.ErrorPageFilter  : Cannot forward to error page for request [/login] as the response has already been committed. As a result, the response may have the wrong status code. If your application is running on WebSphere Application Server you may be able to resolve this problem by setting com.ibm.ws.webcontainer.invokeFlushAfterService to false 

org.apache.catalina.connector.ClientAbortException: java.io.IOException: Broken pipe 

Я не могу понять, что вызывает это.

Я развертываю это приложение на локальном экземпляре Tomcat.

Чтобы подтвердить, приложение по-прежнему работает нормально, я не уверен, что эта ошибка является чем-то, о чем мне нужно беспокоиться?

+0

Еще несколько строк трассировки стека помогут - по крайней мере, для вызова вызываемого кода _Spring – Zilvinas

+0

Похоже, что это была проблема с моим кодом. У меня было @RequestMapping ("/"), которое перенаправлялось на другой метод и каким-то образом вызывало ошибку с безопасностью. – SheppardDigital

+0

Кажется, это все еще проблема, я обновил исходный вопрос, чтобы развернуть ошибку, которую я получаю. – SheppardDigital

ответ

0

У меня такая же ошибка, но я думаю, что такая ошибка может зависеть от множества вещей. Я тоже использую весеннюю сапогу с штабелем angularJs.

У меня такая же проблема, когда я пытаюсь подождать ответа на запрос (который занимает время) на мое приложение для загрузки весны.

Я поставил мое решение здесь, если это может помочь кому-то:

Для меня, проблема приходят из Apache HTTPD конфигурации, потому что я кладу приложение за сервер Apache. И в моем случае apache закрывает соединение, когда он превышает тайм-аут по умолчанию (думаю, 300 секунд). Когда это произойдет, ваш весенне-загрузочный дисплей ошибки broken pipe.

Чтобы устранить эту проблему, вам просто нужно добавить TimeOut yourValueInSecond в httpd.conf файла конфигурации apache httpd.

Прежде чем менять конфигурационный файл, проверьте, действительно ли это связано с сервером apache httpd, отправив запрос непосредственно на ваш сервер tomcat.