Spring 安全性默认登录表单不会替换为自定义登录页面



如何在应用程序开始运行时删除默认登录页面作为第一页?我正在建立一个电子商务网站,其主页中有一些产品可以由每个人查看,只有仪表板应该在登录后可用,应该基于角色即用户或管理员

我已经禁用了httpBasic,因为我想要第一个登陆页面,即主页给每个人,我也想使用自定义登录页面,但在浏览器中使用时"/login"进入默认登录页面


@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {



@Override
protected void configure(HttpSecurity http) throws Exception {
http.httpBasic().disable();
http.formLogin().loginPage("/login");

}
}

在主控制器类我有RequestMapping "/login"重定向到我的自定义页面


@Controller
public class mainController {
@RequestMapping("/login")
public String registration() {
return "login-register";
}
@GetMapping("/my-account")
public String account() {
return "my-account";
}
}

首先,登录页面的名称应该与控制器中的返回值相匹配。我的意思是,如果你的登录页面是这样的:login.html你的控制器方法应该像下面这样。


@GetMapping("/login")
public String login() {
return "login";
}

但如果问题仍然存在,请尝试修改您的配置方法。

http
.formLogin()
.loginPage("/login");

最新更新