Настройка Spring Security для MVC и API

Всем привет, постигаю Spring Boot :)

Я сделал MVC сайт "/app/" и Rest Api "/api/" в одном проекте. И App и Api используют один и тот же слой Service.

Я настроил Spring Security для App с регистрацией и т.п. Вопрос как мне настроить безопасность для доступа к Api. Я так понимаю мне надо настроить для начала oauth2 Resource Server (.oauth2ResourceServer) на мои RestControllers. Но как мне разделить в одном проекте эти настройки?

@Override
protected void configure(HttpSecurity http) throws Exception {
    http
            .csrf().disable()
            .authorizeRequests()
            .antMatchers("/app/registration").not().fullyAuthenticated()
            .antMatchers("/app/about").permitAll()
            .antMatchers("/swagger-ui/**").permitAll()
            .antMatchers("/v2/api-docs").permitAll()
            .antMatchers("/v2/**").permitAll()
            .antMatchers("/api/**").permitAll()
            .anyRequest().authenticated()
            .and()
            .formLogin()
            .loginPage("/app/login")
            .defaultSuccessUrl("/app/")
            .permitAll()
            .and()
            .logout()
            .permitAll()
            .logoutSuccessUrl("/app/");
}

@Autowired
protected void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
    auth.userDetailsService(personService).passwordEncoder(bCryptPasswordEncoder());
}

Конечно, стоит оставить просто api и написать фронт внешне, например на jQuery c AJAX. Но как быть тут?


Ответы (0 шт):