[英]Spring Boot Security custom login page doesn't load
我正在尝试在我的 Spring 项目上实现自定义登录页面,但是当我运行该项目并尝试访问登录页面时,出现以下错误:
白标错误页面 此应用程序没有明确的 /error 映射,因此您将其视为后备。 Fri Oct 01 04:43:26 BRT 2021 出现意外错误(类型=未找到,状态=404)。
以下是文件:
pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
模板控制器.java
package controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/")
public class TemplateController {
@GetMapping("login")
public String getLogin() {
return "login";
}
@GetMapping("courses")
public String getCourses() {
return "courses";
}
}
应用程序安全配置.java
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.csrf().disable()
.authorizeRequests()
.antMatchers("/", "index", "css/*", "js/*").permitAll()
.antMatchers("api/**").hasRole(CUSTOMER.name())
.anyRequest()
.authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.defaultSuccessUrl("/courses", true)
.and()
.rememberMe();
}
login.html 位于资源(Spring 项目的默认文件夹)内的名为templates 的文件夹中,它似乎工作正常,因为它的视图在 Eclipse 上显示为 Visual/Source。
有谁知道可能导致此错误的原因是什么?
问题解决了,各位。 我只是将TemplateController.java移动到com.example.demo.controller包。 现在它运行完美!
但感谢所有试图帮助我的人!
尝试将这样的 html 文件添加到代码中:
.antMatchers("/overview", "/employees/*",
"terminal/*", "/user/*", "/create").permitAll()
这些都是我自己项目中的 html 页面,我有同样的问题,像这样添加它们,安全性不会干扰映射。所以你需要包含你自己的 html 页面文件,然后它们可以通过你的系统访问。 至少这在我们的项目中对我们有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.