如何在应用程序开始运行时删除默认登录页面作为第一页?我正在构建一个电子商务网站,每个人都可以查看其中包含一些产品的主页,并且只有仪表板在登录后才可用,这应该基于角色即。用户或管理员
我已经禁用了 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";
}
}
答案 0 :(得分:0)
首先,您的登录页面的名称应与控制器中的返回值匹配。
我的意思是,如果您的登录页面是这样的:login.html
您的控制器方法应该如下所示。
@GetMapping("/login")
public String login() {
return "login";
}
但是如果问题仍然存在,请尝试修改您的配置方法。
http
.formLogin()
.loginPage("/login");