Class RememberMeUserDetailsServiceProvider

java.lang.Object
com.broadleafcommerce.auth.authorization.security.rememberme.service.RememberMeUserDetailsServiceProvider

public class RememberMeUserDetailsServiceProvider extends Object

Spring's PersistentTokenBasedRememberMeServices implementation (and transitively our BroadleafPersistentTokenRememberMeServices) requires a UserDetailsService be available. Broadleaf's OAuth2UserDetailsService serves a similar purpose, but has different input requirements, and therefore does not implement the UserDetailsService contract itself.

Defining a UserDetailsService bean directly in the Spring context to satisfy the PersistentTokenBasedRememberMeServices requirement could have unexpected side effects. For example, it may activate dormant configuration elsewhere within Spring itself that is conditional on such a bean being available. To avoid rocking the boat, we use this class to internally hold an adapted UserDetailsService implementation that is passed to the PersistentTokenBasedRememberMeServices. This ensures there is still no UserDetailsService bean registered in the Spring context.

  • Constructor Details

  • Method Details

    • getUserDetailsService

      public org.springframework.security.core.userdetails.UserDetailsService getUserDetailsService()
      Returns:
      a UserDetailsService that can be passed to RememberMeServices implementations
    • getRememberMeUserDetailsService

      protected RememberMeUserDetailsServiceProvider.RememberMeUserDetailsService getRememberMeUserDetailsService()