Class SynchronizingSamlUserMapper<T extends JmixSamlUserDetails>

java.lang.Object
io.jmix.saml.mapper.user.BaseSamlUserMapper<T>
io.jmix.saml.mapper.user.SynchronizingSamlUserMapper<T>
All Implemented Interfaces:
SamlUserMapper<T>

public abstract class SynchronizingSamlUserMapper<T extends JmixSamlUserDetails> extends BaseSamlUserMapper<T>
  • Field Details

  • Constructor Details

    • SynchronizingSamlUserMapper

      public SynchronizingSamlUserMapper()
  • Method Details

    • getApplicationUserClass

      protected abstract Class<T> getApplicationUserClass()
    • getSamlUsername

      protected String getSamlUsername(org.opensaml.saml.saml2.core.Assertion assertion)
      Specified by:
      getSamlUsername in class BaseSamlUserMapper<T extends JmixSamlUserDetails>
    • initJmixUser

      protected T initJmixUser(org.opensaml.saml.saml2.core.Assertion assertion)
      Specified by:
      initJmixUser in class BaseSamlUserMapper<T extends JmixSamlUserDetails>
    • populateUserAuthorities

      protected void populateUserAuthorities(org.opensaml.saml.saml2.core.Assertion assertion, T jmixUser)
      Specified by:
      populateUserAuthorities in class BaseSamlUserMapper<T extends JmixSamlUserDetails>
    • performAdditionalModifications

      protected void performAdditionalModifications(org.opensaml.saml.saml2.core.Assertion assertion, org.springframework.security.saml2.provider.service.authentication.OpenSaml4AuthenticationProvider.ResponseToken responseToken, T jmixUser)
      Overrides:
      performAdditionalModifications in class BaseSamlUserMapper<T extends JmixSamlUserDetails>
    • saveJmixUserAndRoleAssignments

      protected void saveJmixUserAndRoleAssignments(org.opensaml.saml.saml2.core.Assertion assertion, T jmixUser)
      Saves Jmix user and synchronizes role assignments
    • updateRoleAssignmentsSaveContext

      protected void updateRoleAssignmentsSaveContext(List<RoleAssignmentEntity> existingAssignments, List<RoleAssignmentEntity> actualAssignments, SaveContext saveContext)
      Fills save context with role assignment operations.
      Parameters:
      existingAssignments - Current role assignments in database
      actualAssignments - New role assignments from SAML assertion
      saveContext - SaveContext to add remove/save operations
    • buildRoleAssignmentEntities

      protected List<RoleAssignmentEntity> buildRoleAssignmentEntities(String username, Collection<? extends org.springframework.security.core.GrantedAuthority> grantedAuthorities)
    • isSynchronizeRoleAssignments

      public boolean isSynchronizeRoleAssignments()
    • setSynchronizeRoleAssignments

      public void setSynchronizeRoleAssignments(boolean synchronizeRoleAssignments)