Class ProfileManager

java.lang.Object
org.pac4j.core.profile.ProfileManager

public class ProfileManager extends Object
This class is a generic way to manage the current user profile(s), i.e. the one(s) of the current authenticated user.
Since:
1.8.0
Author:
Jerome Leleu
  • Field Details

    • logger

      protected final org.slf4j.Logger logger
    • context

      protected final WebContext context
    • sessionStore

      protected SessionStore sessionStore
    • config

      protected Config config
  • Constructor Details

  • Method Details

    • getProfile

      public Optional<UserProfile> getProfile()
      Retrieve the first user profile if it exists, ignoring any AnonymousProfile if possible.
      Returns:
      the user profile
    • getProfile

      public <U extends UserProfile> Optional<U> getProfile(Class<U> clazz)
    • getProfiles

      public List<UserProfile> getProfiles()
      Retrieve all user profiles.
      Returns:
      the user profiles
    • retrieveAll

      protected LinkedHashMap<String,UserProfile> retrieveAll(boolean readFromSession)
      Retrieve the map of profiles from the session or the request.
      Parameters:
      readFromSession - if the user profiles must be read from session
      Returns:
      the map of profiles
    • removeOrRenewExpiredProfiles

      protected void removeOrRenewExpiredProfiles(LinkedHashMap<String,UserProfile> profiles, boolean readFromSession)
    • removeProfiles

      public void removeProfiles()
      Remove the current user profile(s).
    • save

      public void save(boolean saveInSession, UserProfile profile, boolean multiProfile)
      Save the given user profile (replace the current one if multi profiles are not supported, add it otherwise).
      Parameters:
      saveInSession - if the user profile must be saved in session
      profile - a given user profile
      multiProfile - whether multiple profiles are supported
    • retrieveClientName

      protected String retrieveClientName(UserProfile profile)
    • saveAll

      protected void saveAll(LinkedHashMap<String,UserProfile> profiles, boolean saveInSession)
    • isAuthenticated

      public boolean isAuthenticated()
      Tests if the current user is authenticated (meaning a user profile exists which is not an AnonymousProfile).
      Returns:
      whether the current user is authenticated
    • getConfig

      public Config getConfig()
    • setConfig

      public void setConfig(Config config)