Spring Security AntMatchers не находит подпапки - PullRequest
0 голосов
/ 12 апреля 2019

Я поместил защиту в папку, к которой имеет доступ только администратор.Внутри этой папки у меня есть папка img с изображениями внутри.Изображение не отображается.

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

Мой код Java:

    private String privateResources[] = new String[]{"/admin/**"};

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .authorizeRequests()
                .antMatchers(publicResources).permitAll()
                .antMatchers(privateResources).hasRole("ADMIN")

Мой HTML-код и различные способы, которыми я пытался найти изображение:

<img class="rounded-circle" src="img/logo-blue-small.png" alt="">1
<img class="rounded-circle" src="/img/logo-blue-small.png" alt="">2
<img class="rounded-circle" src="../img/logo-blue-small.png" alt="">3
<img class="rounded-circle" src="admin/img/logo-blue-small.png" alt="">4
<img class="rounded-circle" src="/admin/img/logo-blue-small.png" alt="">5
<img class="rounded-circle" src="../admin/img/logo-blue-small.png" alt="">6
<img class="rounded-circle" src="templates/admin/img/logo-blue-small.png" alt="">7
<img class="rounded-circle" src="/templates/admin//img/logo-blue-small.png" alt="">8
<img class="rounded-circle" src="../templates/admin/img/logo-blue-small.png" alt="">9

Путь к моему изображению в проекте:

src\main\resources\templates\admin\img\logo-blue-small.png

После успешного входа в систему как ADMINЯ вижу страницу администратора, потому что печатаются 1,2,3 ... 9 рядом с изображениями, но ни одно из изображений ни на одном из этих путей не показывается.

Ответы [ 2 ]

2 голосов
/ 12 апреля 2019

Вы объявили "шаблоны" в качестве общей папки? По умолчанию Spring Boot обслуживает статические ресурсы только из следующих папок.

  • / META-INF / ресурсы /
  • / ресурсы /
  • / статический /
  • / государственный /

Если вы хотите обслуживать статические ресурсы из своих собственных папок, вам нужно объявить это в applications.properties.

spring.resources.static-locations: classpath:templates/
2 голосов
/ 12 апреля 2019

Поместите изображения в папку src\main\resources\static

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...