2121import org .springframework .context .annotation .Bean ;
2222import org .springframework .context .annotation .Configuration ;
2323import org .springframework .context .annotation .ImportRuntimeHints ;
24- import org .springframework .context .annotation .Primary ;
2524import org .springframework .context .annotation .Role ;
26- import org .springframework .core .annotation .Order ;
2725import org .springframework .http .HttpMethod ;
2826import org .springframework .security .authentication .AuthenticationManager ;
2927import org .springframework .security .authentication .ProviderManager ;
4644import org .springframework .util .ReflectionUtils ;
4745
4846@ Configuration (proxyBeanMethods = false )
47+ @ Role (BeanDefinition .ROLE_INFRASTRUCTURE )
4948@ EnableMethodSecurity (prePostEnabled = false )
5049@ ImportRuntimeHints (SecurityConfig .RuntimeHints .class )
5150public class SecurityConfig {
@@ -109,13 +108,13 @@ PasswordEncoder passwordEncoder() {
109108 }
110109
111110 @ Bean
112- @ Primary
113- CompositeUserDetailsService compositeUserDetailsService (List <UserDetailsService > userDetailsServices ) {
114- return new CompositeUserDetailsService (userDetailsServices );
111+ CompositeUserDetailsService compositeUserDetailsService (SecurityProperties properties ,
112+ PasswordEncoder passwordEncoder , TenantUserProps props ) {
113+ InMemoryUserDetailsManager inMemoryUserDetailsManager = inMemoryUserDetailsManager (properties , passwordEncoder );
114+ TenantUserDetailsService tenantUserDetailsService = tenantUserDetailsService (props );
115+ return new CompositeUserDetailsService (List .of (inMemoryUserDetailsManager , tenantUserDetailsService ));
115116 }
116117
117- @ Bean
118- @ Order (1 )
119118 InMemoryUserDetailsManager inMemoryUserDetailsManager (SecurityProperties properties ,
120119 PasswordEncoder passwordEncoder ) {
121120 SecurityProperties .User user = properties .getUser ();
@@ -132,8 +131,6 @@ InMemoryUserDetailsManager inMemoryUserDetailsManager(SecurityProperties propert
132131 .build ());
133132 }
134133
135- @ Bean
136- @ Order (2 )
137134 TenantUserDetailsService tenantUserDetailsService (TenantUserProps props ) {
138135 return new TenantUserDetailsService (props );
139136 }
0 commit comments