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
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.UserModel
UserModel.RequiredAction, UserModel.UserPreRemovedEvent, UserModel.UserRemovedEvent -
Field Summary
Fields inherited from class org.keycloak.models.utils.UserModelDelegate
delegateFields inherited from interface org.keycloak.models.UserModel
COMPARE_BY_USERNAME, DISABLED_REASON, EMAIL, EMAIL_PENDING, EMAIL_VERIFIED, ENABLED, EXACT, FIRST_NAME, GROUPS, IDP_ALIAS, IDP_USER_ID, INCLUDE_SERVICE_ACCOUNT, IS_TEMP_ADMIN_ATTR_NAME, LAST_NAME, LOCALE, SEARCH, USERNAME -
Constructor Summary
ConstructorsConstructorDescriptionLDAPWritesOnlyUserModelDelegate(UserModel delegate, LDAPStorageProvider provider) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddRequiredAction(String action) voidprotected booleanisAttributeUpdatedInLDAP(String attributeName) protected booleanisRequiredActionUpdatedInLDAP(String requiredActionName) voidremoveAttribute(String name) voidremoveRequiredAction(String action) voidvoidsetAttribute(String name, List<String> values) voidSets 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.UserModelDelegate
credentialManager, 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, setServiceAccountClientLinkMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.keycloak.models.RoleMapperModel
hasDirectRoleMethods inherited from interface org.keycloak.models.UserModel
getGroupsCount, getGroupsCountByNameContaining, getGroupsStream, isFederated, joinGroup
-
Constructor Details
-
LDAPWritesOnlyUserModelDelegate
-
-
Method Details
-
setUsername
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 interfaceUserModel- Overrides:
setUsernamein classUserModelDelegate- Parameters:
username- username string
-
setEnabled
public void setEnabled(boolean enabled) - Specified by:
setEnabledin interfaceUserModel- Overrides:
setEnabledin classUserModelDelegate
-
setSingleAttribute
Description copied from interface:UserModelSet single value of specified attribute. Remove all other existing values of this attribute- Specified by:
setSingleAttributein interfaceUserModel- Overrides:
setSingleAttributein classUserModelDelegate
-
setAttribute
- Specified by:
setAttributein interfaceUserModel- Overrides:
setAttributein classUserModelDelegate
-
removeAttribute
- Specified by:
removeAttributein interfaceUserModel- Overrides:
removeAttributein classUserModelDelegate
-
addRequiredAction
- Specified by:
addRequiredActionin interfaceUserModel- Overrides:
addRequiredActionin classUserModelDelegate
-
removeRequiredAction
- Specified by:
removeRequiredActionin interfaceUserModel- Overrides:
removeRequiredActionin classUserModelDelegate
-
addRequiredAction
- Specified by:
addRequiredActionin interfaceUserModel- Overrides:
addRequiredActionin classUserModelDelegate
-
removeRequiredAction
- Specified by:
removeRequiredActionin interfaceUserModel- Overrides:
removeRequiredActionin classUserModelDelegate
-
setFirstName
- Specified by:
setFirstNamein interfaceUserModel- Overrides:
setFirstNamein classUserModelDelegate
-
setLastName
- Specified by:
setLastNamein interfaceUserModel- Overrides:
setLastNamein classUserModelDelegate
-
setEmail
Description copied from interface:UserModelSets email for this user.- Specified by:
setEmailin interfaceUserModel- Overrides:
setEmailin classUserModelDelegate- Parameters:
email- the email
-
setEmailVerified
public void setEmailVerified(boolean verified) - Specified by:
setEmailVerifiedin interfaceUserModel- Overrides:
setEmailVerifiedin classUserModelDelegate
-
isAttributeUpdatedInLDAP
-
isRequiredActionUpdatedInLDAP
-