0
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
...
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/css/**", "/js/**", "/img/**").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.loginProcessingUrl("/login")
.failureForwardUrl("/login?error")
.successForwardUrl("/admin")
.permitAll()
.and()
.logout()
.logoutSuccessUrl("/login?logout")
.permitAll();
}
}
以上WebSecurityConfig
只有當下面的類映射原理:註解@Controller沒有正確映射的Spring Security 4登錄頁面
@Configuration
public class MvcConfig extends WebMvcConfigurerAdapter {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/login").setViewName("login");
}
}
當我試着和控制器替換上述映射,登錄請求處理不正確,並出現以下錯誤:
ERROR 290168 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet dispatcherServlet threw exception
這裏是我的控制器看起來像:
@Controller
public class AdminController extends BaseController {
@RequestMapping(value = "/login")
public String login(Model model) {
return "login";
}
}
任何想法,爲什麼而WebMvcConfigurerAdapter
映射做的AdminController
請求映射不起作用?