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 關注
- 126 瀏覽
添加回答
舉報