Добавление Spring Boot-style Security для не-Boot Spring приложения - PullRequest
1 голос
/ 19 июня 2019

Моя цель - добавить слой аутентификации на основе OpenID Connect (с помощью Azure AD) в приложение, отличное от Boot Spring.Требуемая конфигурация предоставляется в виде Java-кода для приложения Spring Boot;

// Config to be added to existing project
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class AADOAuth2LoginSecurityConfig extends WebSecurityConfigurerAdapter {
    @Autowired
    private OAuth2UserService<OidcUserRequest, OidcUser> oidcUserService;

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .authorizeRequests()
                .anyRequest().authenticated()
                .and()
                .oauth2Login()
                .userInfoEndpoint()
                .oidcUserService(oidcUserService);
    }
}

Однако приложение, которое будет расширено с помощью этой функции, будет

  • Not SpringЗагрузочное приложение

    Приложение , однако, основано на платформе Spring, используя безопасность Spring, как определено в файлах конфигурации XML, определенных в /src/main/webapp/WEB-INF/applicationContext.xml

  • Не изменяется

    Можно добавить новые классы или конфигурацию, но ядро ​​(стороннее / продаваемое) изменить нельзя

Я пытался добавить конфигурацию в проектопределив

<context:component-scan base-package="my.package.security"/>

в весенней конфигурации XML, и, хотя я вижу, что компонент инициализирован, элемент configure(..) никогда не вызывается, и приложение не добавляется в приложение.

Можно ли расширить это (устаревшее) приложение конфигурацией на основе Spring Boot?Каков был бы рекомендуемый способ добавить такую ​​функциональность?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...