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