diff --git a/uw-spring-security-core/src/main/java/edu/wisc/uwss/local/LocalUserDetailsAttributesMapper.java b/uw-spring-security-core/src/main/java/edu/wisc/uwss/local/LocalUserDetailsAttributesMapper.java index d1226ea6075575af5d18a56e8dd31227588deae7..8e85c680158d83958bd8aa85f0dfa949708ee9b1 100644 --- a/uw-spring-security-core/src/main/java/edu/wisc/uwss/local/LocalUserDetailsAttributesMapper.java +++ b/uw-spring-security-core/src/main/java/edu/wisc/uwss/local/LocalUserDetailsAttributesMapper.java @@ -25,9 +25,11 @@ import java.util.List; * If you have custom {@link UWUserDetails} that depend on services/daos to complete the model, * you may want to consider implementing a {@link LocalUsersAuthenticationAttemptCallback}; that interface * participates in the authentication attempt itself, not during application initialization. - * + * + * @deprecated use {@link LocalUserDetailsLoader} instead, to be removed in 2.0 * @author Nicholas Blair */ +@Deprecated public interface LocalUserDetailsAttributesMapper { /** diff --git a/uw-spring-security-core/src/main/java/edu/wisc/uwss/local/LocalUserDetailsLoader.java b/uw-spring-security-core/src/main/java/edu/wisc/uwss/local/LocalUserDetailsLoader.java index 290fedbf7aec37eeee02bad4277b7bf55f33af4f..88e52db6936e5e7b477ceb9b9b647bb2521b6da4 100644 --- a/uw-spring-security-core/src/main/java/edu/wisc/uwss/local/LocalUserDetailsLoader.java +++ b/uw-spring-security-core/src/main/java/edu/wisc/uwss/local/LocalUserDetailsLoader.java @@ -17,9 +17,15 @@ import edu.wisc.uwss.UWSpringSecurityException; /** * Interface for loading {@link UWUserDetails} instances from configuration. * - * This interface is an alternative to {@link LocalUserDetailsAttributesMapper}. + * This interface is used during application initialization - not during + * authentication attempts. Since it is executed during Spring ApplicationContext initialization, + * implementations should avoid injecting other service or dao interfaces, as it may be + * affected by a race condition. + * + * If you have custom {@link UWUserDetails} that depend on services/daos to complete the model, + * you may want to consider implementing a {@link LocalUsersAuthenticationAttemptCallback}; that interface + * participates in the authentication attempt itself, not during application initialization. * - * @see {@link LocalUserDetailsAttributesMapper} * @see {@link LocalUserDetailsLoader.Default} * @author Nicholas Blair */