Форма входа по умолчанию в Spring Security не может загружать файлы CSS (ERR_CONNECTION_TIMED_OUT) - PullRequest
0 голосов
/ 16 апреля 2019

Похоже, что страница входа по умолчанию в Spring Security использует bootstrap.min.css и signin.css для стилизации. Страница входа в систему отображается правильно при запуске проекта из Eclipse, но не при запуске из жирной банки Spring Boot. Ошибки:

Failed to load resource: net::ERR_CONNECTION_TIMED_OUT bootstrap.min.css
Failed to load resource: net::ERR_CONNECTION_TIMED_OUT signin.css

Этими файлами управляет Spring Security, и я не знаю, где они даже хранятся. Как я уже говорил, страница входа в систему отлично работает при запуске из Eclipse, а остальная часть приложения отлично работает в обеих средах (шаблоны тимилиста, использующие начальную загрузку с внутренними контроллерами Spring MVC, защищенные Spring Security).

Что может быть причиной этих ошибок?

1 Ответ

0 голосов
/ 16 апреля 2019

Использовали ли вы сопоставители со своими статическими ресурсами для обслуживания?

В случае локальных ресурсов в другом месте, отличном от значения по умолчанию (не рекомендуется)

http
   .authorizeRequests()
   .antMatchers("/lib/bootstrap/**",
                "/css/**",
                "/img/**",
                "/js/**").permitAll();

В случае веб-фабрик

http
   .authorizeRequests()
   .antMatchers("/webjars/**").permitAll();

Вы даже хотели защитить обслуживание этих ресурсов с ограничениями входа в систему?С какой целью?

В случае использования статических ресурсов в директориях по умолчанию известны:

Хотя это может и не быть новым откровением для тех из вас, у кого естьследил за Spring Boot с момента объявления SpringOne, есть одна деталь, о которой вы можете не знать.Spring Boot автоматически добавит статические веб-ресурсы, расположенные в любом из следующих каталогов:

/META-INF/resources/
/resources/
/static/
/public/

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

См. эту статью для получения более подробной информации

NB : при использовании стандартной страницы по умолчанию у вас не может быть автономной среды идоступ в Интернет является обязательным для размещения ресурсов.Вы должны реализовать свою пользовательскую страницу входа в систему .

    http
       .formLogin()
       .loginPage("/login")
       .permitAll();

Не забудьте при необходимости зацепить ваши весенние правила безопасности

...