静态内容未加载状态代码 302 Java Spring Security

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

在我为应用程序添加安全性后,静态内容停止加载,它发出对 JS 和 CSS 的请求,但返回状态代码 303。

仅显示原始 HTML。

这是我的配置,我还对下面的静态内容、属性文件的位置进行了更改。


@Configuration
@EnableWebSecurity
public class Security {

    @Bean
    public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
        http.csrf(Customizer.withDefaults())
                .cors(Customizer.withDefaults())
                .authorizeHttpRequests(request -> {
                    request.requestMatchers("/backoffice/**").authenticated()
                            .requestMatchers("/index/**").permitAll()
                            .requestMatchers("/static/**").permitAll();
                })
                .formLogin(form -> form
                        .loginPage("/login")
                        .permitAll()
                );
        return http.build();
    }
}

属性文件

spring.messages.basename=lang/messages
# Thymeleaf
spring.thymeleaf.cache=false
spring.thymeleaf.mode=HTML
spring.thymeleaf.encoding=utf-8
spring.thymeleaf.prefix=file:src/main/resources/templates/
# Static resources
spring.web.resources.cache.period=0
spring.web.resources.static-locations=file:src/main/resources/static/,file:uploads/ProductImages/
# Connection string
spring.data.mongodb.uri=${CONNECTION_STRING}
# Custom File Size
spring.servlet.multipart.max-file-size=5MB
spring.servlet.multipart.max-request-size=5MB
# Custom folder for serving product images

当我删除安全配置内容时,会正常加载。

java spring security
1个回答
0
投票

而不是使用

.requestMatchers("/static/**").permitAll();
我需要使用

.requestMatchers("/css/**", "/js/**", "/fonts/**", "img/**").permitAll(); 

since my resources.static-locations
设置为静态文件夹,我在其中保存所有静态内容。

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