Моя цель - добавить слой аутентификации на основе 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?Каков был бы рекомендуемый способ добавить такую функциональность?