开启Spring Security认证后外部CSS文件无法加载的问题求助
启用Spring Security认证后外部CSS文件无法生效
配置Spring Security认证规则后,页面的外部CSS、JS及图片等静态资源无法正常加载;但将所有请求设置为anyRequest().permitAll()允许访问时,静态资源可正常工作。
问题复现代码
存在问题的SecurityConfig配置
@EnableWebSecurity @Configuration class SecurityConfig { @Bean fun security(http:HttpSecurity):SecurityFilterChain{ http .formLogin() .loginPage("/") .failureUrl("/") .and() .logout() .logoutSuccessUrl("/") .and() .authorizeHttpRequests() .requestMatchers("/","/about_us").permitAll() .anyRequest().authenticated() return http.build(); } }
前端HTML页面
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>BigBroHelp</title> <link rel="stylesheet" type="text/css" href="../../static/css/final_form.css"> <link th:href="@{/css/start_page/final_form.css}" rel="stylesheet"> <link th:href="@{https://fonts.googleapis.com/css2?family=Jost:wght@500&display=swap}" rel="stylesheet"> <link th:href="@{/img/ответы_нейро_бошка.png}" rel="icon" type="image/png" style="width: 1000px"> <script th:src="@{/js/start_page/validation_counter.js}"></script> </head> <body id="body"> <div class="main"> <input type="checkbox" id="chk" aria-hidden="true"> <div class="signup"> <form> <label for="chk" aria-hidden="true" id="reg_label">Регистрация</label> <p id="count">0</p> <input type="text" name="txt" placeholder="Логин" required="" id="reg_input_login" onclick="count()"> <!-- <input type="email" name="email" placeholder="Почта" required="">--> <input type="password" name="pswd" placeholder="Пароль" required=""> <button onclick="count()">Зарегистрироваться</button> </form> </div> <div class="login"> <form> <label for="chk" aria-hidden="true">Войти</label> <input type="email" name="email" placeholder="Логин" required=""> <input type="password" name="pswd" placeholder="Пароль" required=""> <button>Войти</button> </form> </div> </div> <div class="bigBro"> <div class="modal"> <h1> Big Bro Help<br> </h1> <a class="btn" id="about_us" th:href="@{/about_us}">О проекте </a><br> </div> </div> </body> </html>
正常工作的SecurityConfig配置
@EnableWebSecurity @Configuration class SecurityConfig { @Bean fun security(http:HttpSecurity):SecurityFilterChain{ http .authorizeHttpRequests() .anyRequest().permitAll() return http.build(); } }
相关版本信息
- Spring Boot版本:3.0.2(Spring Security 6.0.1)
- Thymeleaf版本:3.1.1
效果截图
页面显示效果截图:
CSS加载失败截图:
内容的提问来源于stack exchange,提问作者de6igz
相关产品推荐
相关产品推荐

