单击按钮导航时,无法从 index.html
导航到任何其他页面,会下载一个空白登录文件。我认为这个问题与安全文件有关,因为一开始我没有它,但添加它后很多东西都被破坏了。
这是 html 代码:
<a href="login" th:href="@{/login}" id = "LOGIN" class="active">Log In</a>
这是安全文件:
@Configuration
@EnableWebSecurity
public class Security extends WebSecurityConfigurerAdapter{
// https://spring.io/guides/gs/securing-web/
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/","/register","/login","/css/**", "/js/**", "/images/**").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.permitAll();
}
@Bean
public PasswordEncoder encoder() {
return new BCryptPasswordEncoder(11);
}
}
模板中有一个login.html
文件。
最佳答案
一旦您通过指定 .loginPage(some_string)
覆盖默认登录页面,Spring Security 默认登录配置将被停用。
无论some_string
的值是什么,即使该值为"/login"
,它也被视为自定义登录页面。
换句话说,在您当前的配置下,当您覆盖默认登录页面时,Spring Security 希望您为自定义登录端点创建映射。
正如 Ratul Shaker 在上面的评论中所说,您需要添加一个 @GetMapping("/login")
来返回您的自定义登录页面。
关于spring-boot - Thymeleaf 下载登录空白文件,而不是导航到 login.html (Springboot),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70051126/