@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アノテーションが適切に春のセキュリティ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
要求のマッピングが動作しない理由を任意のアイデア?