Spring安全antMatchers找不到子文件夹

问题描述 投票:0回答:2

我已将安全性放在只有Admin才能访问的文件夹上。在这个文件夹里面我有一个里面有图像的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,但这些路径中的任何一个图像都没有显示。

spring-boot spring-security
2个回答
1
投票

您是否将“模板”声明为公用文件夹?默认情况下,Spring Boot仅从以下文件夹中提供静态资源。

  • / META-INF /资源/
  • /资源/
  • /静态的/
  • /上市/

如果要从自己的文件夹中提供静态资源,则需要在applications.properties中声明它。

spring.resources.static-locations: classpath:templates/

1
投票

将图像放在src\main\resources\static文件夹中

© www.soinside.com 2019 - 2024. All rights reserved.