java - Spring Boot + Spring Security 的自定义登录页面
问题描述
下面是我的配置。我导航到http://localhost:8080并被重定向到预期的http://localhost:8080/bruceLogin。但是我的页面显示“Whitelabel 错误页面。此应用程序没有 /error 的显式映射,因此您将其视为后备...”。请注意,我在 src/main/resources/template 下确实有一个名为 bruceLogin1.html 的简单 html 页面。知道我在这里缺少什么吗?
*旁注:一个可悲的事情是 Spring Boot 没有为开发人员提供一种机制来配置自定义登录页面,只使用属性文件。
@SpringBootApplication
@EnableWebSecurity
public class SpringSecurityCatalogApplication implements WebMvcConfigurer {
public static void main(String[] args) {
SpringApplication.run(SpringSecurityCatalogApplication.class, args);
}
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/bruceLogin").setViewName("bruceLogin1");
registry.setOrder(Ordered.HIGHEST_PRECEDENCE);
}
@EnableWebSecurity
@Order(Ordered.HIGHEST_PRECEDENCE)
class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/resources/**").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/bruceLogin")
.permitAll();
}
}
}
解决方案
解决方案:在我的 build.gradle 中添加 implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' 后,此问题得到解决。感谢 Pham Thai Thinh 的建议
推荐阅读
- computational-geometry - 为每个点找到最近线段的高效算法
- erlang - 如何使用 gun:open 在 gen_server 模块中
- php - 删除 PHP 数组的一部分
- react-native - 如何在 react-native 中获取文件的绝对路径?
- stm32 - STM32F103 UART按键事件延迟慢
- android - 如何使用环回后端的改造在android中提出“包含过滤器”之类的请求?
- c# - 自动化 matlab 代码,但在我的 Matlab 路径上找不到函数
- javascript - 使用同一元素的另一个 href 的单个链接更改 href
- html - 在我的横幅和中心放置 2 个按钮 div
- java - 在 scala 或 java 中读取非常广泛的数据集的有效方法