Package org.keycloak.storage.ldap
Class LDAPWritesOnlyUserModelDelegate
- java.lang.Object
- 
- org.keycloak.models.utils.UserModelDelegate
- 
- org.keycloak.storage.ldap.LDAPWritesOnlyUserModelDelegate
 
 
- 
- All Implemented Interfaces:
- RoleMapperModel,- UserModel
 
 public class LDAPWritesOnlyUserModelDelegate extends UserModelDelegate User model delegate, which tracks what attributes were written to LDAP in this transaction. For those attributes, it will skip calling delegate for doing any additional updates. It may be typically used together with Read-Only delegate. The result is that read-only exception will be thrown when attempt to update any user attribute, which is NOT mapped to LDAP.- Author:
- Marek Posolda
 
- 
- 
Nested Class Summary- 
Nested classes/interfaces inherited from interface org.keycloak.models.UserModelUserModel.RequiredAction, UserModel.SearchableFields, UserModel.Streams, UserModel.UserRemovedEvent
 
- 
 - 
Field Summary- 
Fields inherited from class org.keycloak.models.utils.UserModelDelegatedelegate
 - 
Fields inherited from interface org.keycloak.models.UserModelCOMPARE_BY_USERNAME, DISABLED_REASON, EMAIL, EMAIL_VERIFIED, ENABLED, EXACT, FIRST_NAME, GROUPS, IDP_ALIAS, IDP_USER_ID, INCLUDE_SERVICE_ACCOUNT, LAST_NAME, LOCALE, SEARCH, USERNAME
 
- 
 - 
Constructor SummaryConstructors Constructor Description LDAPWritesOnlyUserModelDelegate(UserModel delegate, LDAPStorageProvider provider)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddRequiredAction(String action)voidaddRequiredAction(UserModel.RequiredAction action)protected booleanisAttributeUpdatedInLDAP(String attributeName)protected booleanisRequiredActionUpdatedInLDAP(String requiredActionName)voidremoveAttribute(String name)voidremoveRequiredAction(String action)voidremoveRequiredAction(UserModel.RequiredAction action)voidsetAttribute(String name, List<String> values)voidsetEmail(String email)Sets email for this user.voidsetEmailVerified(boolean verified)voidsetEnabled(boolean enabled)voidsetFirstName(String firstName)voidsetLastName(String lastName)voidsetSingleAttribute(String name, String value)Set single value of specified attribute.voidsetUsername(String username)Sets username for this user.- 
Methods inherited from class org.keycloak.models.utils.UserModelDelegatecredentialManager, deleteRoleMapping, equals, getAttributes, getAttributeStream, getClientRoleMappingsStream, getCreatedTimestamp, getDelegate, getEmail, getFederationLink, getFirstAttribute, getFirstName, getGroupsStream, getId, getLastName, getRealmRoleMappingsStream, getRequiredActionsStream, getRoleMappingsStream, getServiceAccountClientLink, getUsername, grantRole, hashCode, hasRole, isEmailVerified, isEnabled, isMemberOf, joinGroup, leaveGroup, setCreatedTimestamp, setFederationLink, setServiceAccountClientLink
 - 
Methods inherited from class java.lang.Objectclone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 - 
Methods inherited from interface org.keycloak.models.RoleMapperModelhasDirectRole
 - 
Methods inherited from interface org.keycloak.models.UserModelgetGroupsCount, getGroupsCountByNameContaining, getGroupsStream
 
- 
 
- 
- 
- 
Constructor Detail- 
LDAPWritesOnlyUserModelDelegatepublic LDAPWritesOnlyUserModelDelegate(UserModel delegate, LDAPStorageProvider provider) 
 
- 
 - 
Method Detail- 
setUsernamepublic void setUsername(String username) Description copied from interface:UserModelSets username for this user. No default method here to allow Abstract subclasses where the username is provided in a different manner- Specified by:
- setUsernamein interface- UserModel
- Overrides:
- setUsernamein class- UserModelDelegate
- Parameters:
- username- username string
 
 - 
setEnabledpublic void setEnabled(boolean enabled) - Specified by:
- setEnabledin interface- UserModel
- Overrides:
- setEnabledin class- UserModelDelegate
 
 - 
setSingleAttributepublic void setSingleAttribute(String name, String value) Description copied from interface:UserModelSet single value of specified attribute. Remove all other existing values of this attribute- Specified by:
- setSingleAttributein interface- UserModel
- Overrides:
- setSingleAttributein class- UserModelDelegate
 
 - 
setAttributepublic void setAttribute(String name, List<String> values) - Specified by:
- setAttributein interface- UserModel
- Overrides:
- setAttributein class- UserModelDelegate
 
 - 
removeAttributepublic void removeAttribute(String name) - Specified by:
- removeAttributein interface- UserModel
- Overrides:
- removeAttributein class- UserModelDelegate
 
 - 
addRequiredActionpublic void addRequiredAction(String action) - Specified by:
- addRequiredActionin interface- UserModel
- Overrides:
- addRequiredActionin class- UserModelDelegate
 
 - 
removeRequiredActionpublic void removeRequiredAction(String action) - Specified by:
- removeRequiredActionin interface- UserModel
- Overrides:
- removeRequiredActionin class- UserModelDelegate
 
 - 
addRequiredActionpublic void addRequiredAction(UserModel.RequiredAction action) - Specified by:
- addRequiredActionin interface- UserModel
- Overrides:
- addRequiredActionin class- UserModelDelegate
 
 - 
removeRequiredActionpublic void removeRequiredAction(UserModel.RequiredAction action) - Specified by:
- removeRequiredActionin interface- UserModel
- Overrides:
- removeRequiredActionin class- UserModelDelegate
 
 - 
setFirstNamepublic void setFirstName(String firstName) - Specified by:
- setFirstNamein interface- UserModel
- Overrides:
- setFirstNamein class- UserModelDelegate
 
 - 
setLastNamepublic void setLastName(String lastName) - Specified by:
- setLastNamein interface- UserModel
- Overrides:
- setLastNamein class- UserModelDelegate
 
 - 
setEmailpublic void setEmail(String email) Description copied from interface:UserModelSets email for this user.- Specified by:
- setEmailin interface- UserModel
- Overrides:
- setEmailin class- UserModelDelegate
- Parameters:
- email- the email
 
 - 
setEmailVerifiedpublic void setEmailVerified(boolean verified) - Specified by:
- setEmailVerifiedin interface- UserModel
- Overrides:
- setEmailVerifiedin class- UserModelDelegate
 
 - 
isAttributeUpdatedInLDAPprotected boolean isAttributeUpdatedInLDAP(String attributeName) 
 - 
isRequiredActionUpdatedInLDAPprotected boolean isRequiredActionUpdatedInLDAP(String requiredActionName) 
 
- 
 
-