springboot静态资源访问权限
时间: 2023-11-15 15:58:25 浏览: 405
SpringBoot默认将静态资源目录映射为/**,也就是说我们可以通过访问当前项目根路径/ + 静态资源名来访问里面存放的静态资源。同时,SpringBoot也支持我们更改静态资源的默认存放路径,我们可以通过在配置文件中添加配置项来实现。例如,我们可以通过添加以下配置项来将静态资源的访问前缀改为/res/**,并将静态资源存放路径改为classpath:/haha:
spring.mvc.static-path-pattern=/res/**
spring.web.resources.static-locations=classpath:/haha
这样配置后,我们就可以通过访问/res/ + 静态资源名来访问静态资源了。需要注意的是,如果我们将静态资源存放在非默认路径下,还需要在配置文件中添加对应的路径。
相关问题
springboot静态资源配置
在Spring Boot中,默认情况下,静态资源(例如HTML、CSS、JavaScript文件)位于"classpath:/static"、"classpath:/public"或"classpath:/resources/static"目录中。您可以通过在application.properties或application.yml文件中进行自定义来更改这些目录。
1. 在application.properties中定义静态资源目录:
spring.resources.static-locations=classpath:/static/,classpath:/public/,classpath:/resources/static/,file:/path/to/external/resources/
可以添加多个目录,使用逗号分隔。
2. 在application.yml中定义静态资源目录:
spring:
resources:
static-locations: classpath:/static/, classpath:/public/, classpath:/resources/static/, file:/path/to/external/resources/
同样,可以添加多个目录。
注:如果添加了外部资源路径,需要确保该路径的访问权限,否则可能会遇到权限问题。
springboot 静态资源黑名单
在Spring Boot中,可以通过配置静态资源黑名单来限制某些资源的访问。静态资源包括css、js、图片等文件,它们存放在项目的资源文件夹中,可以直接通过URL访问。
要配置静态资源的黑名单,可以使用Spring Security框架提供的功能。首先,需要在项目的配置文件(application.properties或application.yml)中配置Spring Security的相关信息,包括启用安全认证和配置访问规则。
例如,在application.yml中添加以下配置:
```
spring:
security:
enabled: true
resources:
static-locations: classpath:/static/
```
上述配置指定了静态资源的位置为classpath:/static/,即项目的resources/static目录。接下来,可以创建一个安全配置类来设置访问规则。
```java
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/blacklist/**").denyAll() // 配置黑名单资源的访问规则
.anyRequest().permitAll(); // 其他资源允许访问
}
}
```
上述配置指定了"/blacklist/**"路径下的资源不允许访问,其他路径下的资源允许访问。可以根据实际需求修改配置,例如设置更复杂的路径匹配规则、自定义访问权限等。
通过上述配置,静态资源的黑名单就设置好了。当用户访问被限制的资源时,将会收到403 Forbidden的响应。可以根据需要增加登录认证、角色授权等功能来提升安全性。
阅读全文