3 回答

TA贡献1802条经验 获得超5个赞
我相信只要你尝试一下就能解决这个问题。
authorizeRequests() .antMatchers("/admin").hasRole("ADMIN") .antMatchers("/user").hasAnyRole("ADMIN", "USER") .antMatchers("/").permitAll() .and() .formLogin().loginPage("/login.html") .loginProcessingUrl("/login") .defaultSuccessUrl("/index.html",true);
另外,Spring security本身有映射url端点/login,如果你想改变它,那么方法loginProcessingUrl可以帮助改变登录路径

TA贡献1840条经验 获得超5个赞
您的登录页面是 /login.html 而不是 /login
所以你的配置应该是:
.formLogin().loginPage("/login.html").permitAll()
.loginProcessingUrl("/login")
.defaultSuccessUrl("/index.html",true);
以及控制器中的 /login 映射。从 MainController 中删除它:
@GetMapping("/login")
public String login() { return ("login");
}

TA贡献1895条经验 获得超3个赞
我想到了。我将此 ModelAndView 添加到我的主控制器类中并修复了它。不过还是谢谢你的建议。
@RequestMapping("/login")
public ModelAndView login () {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("login");
return modelAndView;
}
- 3 回答
- 0 关注
- 141 浏览
添加回答
举报