refactor: switch autowiring to constructor injection
UdsPersonUserDetailsServiceImpl is not initialized automatically by either of the primary 'local-users' or 'preauth' Profiles. It's typically constructed by downstream projects manually (not by component scanning). Registering more than 1 UserDetailsService - say one for the uw-spring-security stack, and a different one for UdsPersonUserDetailsServiceImpl - will result in ApplicationContext initializationerrors as the Configuration classes provided in uw-spring-security-config expect 1 and only 1 UserDetailsService. The recommended use now for UdsPersonUserDetailsServiceImpl is to provide the needed UserDetailsService by hand, not by automatic autowiring. If the 1 UserDetailsService provided by uw-spring-security is appropriate, it's easy to retrieve from the ApplicationContext; if an alternate one is required it can be constructed without registering it as a @Bean.
parent
71358aec
No related branches found
No related tags found
Showing
- uw-spring-security-core/src/main/java/edu/wisc/uwss/uds/UdsPersonUserDetailsServiceImpl.java 11 additions, 2 deletions...va/edu/wisc/uwss/uds/UdsPersonUserDetailsServiceImpl.java
- uw-spring-security-core/src/test/java/edu/wisc/uwss/UWUserDetailsImplTest.java 5 additions, 0 deletions...re/src/test/java/edu/wisc/uwss/UWUserDetailsImplTest.java
Please register or sign in to comment