Spring Security AntMatchers找不到子文件夹

时间:2019-04-12 05:40:13

标签: spring-boot spring-security

我已将安全性放在只有管理员有权访问的文件夹上。在此文件夹中,我有一个包含图像的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 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

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

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

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

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