keycloak
公開メンバ関数 | 公開変数類 | 限定公開メンバ関数 | 限定公開変数類 | 非公開変数類 | 全メンバ一覧
org.keycloak.storage.ldap.mappers.membership.group.GroupLDAPStorageMapper.LDAPGroupMappingsUserDelegate クラス
org.keycloak.storage.ldap.mappers.membership.group.GroupLDAPStorageMapper.LDAPGroupMappingsUserDelegate の継承関係図
Inheritance graph
org.keycloak.storage.ldap.mappers.membership.group.GroupLDAPStorageMapper.LDAPGroupMappingsUserDelegate 連携図
Collaboration graph

公開メンバ関数

 LDAPGroupMappingsUserDelegate (RealmModel realm, UserModel user, LDAPObject ldapUser)
 
boolean hasRole (RoleModel role)
 
Set< GroupModelgetGroups ()
 
void joinGroup (GroupModel group)
 
void leaveGroup (GroupModel group)
 
boolean isMemberOf (GroupModel group)
 
String getId ()
 
String getUsername ()
 
void setUsername (String username)
 
boolean isEnabled ()
 
void setEnabled (boolean enabled)
 
void setSingleAttribute (String name, String value)
 
void setAttribute (String name, List< String > values)
 
void removeAttribute (String name)
 
String getFirstAttribute (String name)
 
List< String > getAttribute (String name)
 
Map< String, List< String > > getAttributes ()
 
Set< String > getRequiredActions ()
 
void addRequiredAction (String action)
 
void addRequiredAction (RequiredAction action)
 
void removeRequiredAction (String action)
 
void removeRequiredAction (RequiredAction action)
 
String getFirstName ()
 
void setFirstName (String firstName)
 
String getLastName ()
 
void setLastName (String lastName)
 
String getEmail ()
 
void setEmail (String email)
 
boolean isEmailVerified ()
 
void setEmailVerified (boolean verified)
 
Set< RoleModelgetRealmRoleMappings ()
 
Set< RoleModelgetClientRoleMappings (ClientModel app)
 
void grantRole (RoleModel role)
 
Set< RoleModelgetRoleMappings ()
 
void deleteRoleMapping (RoleModel role)
 
String getFederationLink ()
 
void setFederationLink (String link)
 
String getServiceAccountClientLink ()
 
void setServiceAccountClientLink (String clientInternalId)
 
UserModel getDelegate ()
 
Long getCreatedTimestamp ()
 
void setCreatedTimestamp (Long timestamp)
 
boolean equals (Object o)
 
int hashCode ()
 

公開変数類

String USERNAME = "username"
 
String LAST_NAME = "lastName"
 
String FIRST_NAME = "firstName"
 
String EMAIL = "email"
 
String LOCALE = "locale"
 

限定公開メンバ関数

Set< GroupModelgetLDAPGroupMappingsConverted ()
 

限定公開変数類

UserModel delegate
 

非公開変数類

final RealmModel realm
 
final LDAPObject ldapUser
 
Set< GroupModelcachedLDAPGroupMappings
 

詳解

構築子と解体子

◆ LDAPGroupMappingsUserDelegate()

org.keycloak.storage.ldap.mappers.membership.group.GroupLDAPStorageMapper.LDAPGroupMappingsUserDelegate.LDAPGroupMappingsUserDelegate ( RealmModel  realm,
UserModel  user,
LDAPObject  ldapUser 
)
inline
628  {
629  super(user);
630  this.realm = realm;
631  this.ldapUser = ldapUser;
632  }

関数詳解

◆ addRequiredAction() [1/2]

void org.keycloak.models.utils.UserModelDelegate.addRequiredAction ( String  action)
inlineinherited

org.keycloak.models.UserModelを実装しています。

103  {
104  delegate.addRequiredAction(action);
105  }
UserModel delegate
Definition: UserModelDelegate.java:36
void addRequiredAction(String action)

◆ addRequiredAction() [2/2]

void org.keycloak.models.utils.UserModelDelegate.addRequiredAction ( RequiredAction  action)
inlineinherited

org.keycloak.models.UserModelを実装しています。

113  {
114  delegate.addRequiredAction(action);
115  }
UserModel delegate
Definition: UserModelDelegate.java:36
void addRequiredAction(String action)

◆ deleteRoleMapping()

void org.keycloak.models.utils.UserModelDelegate.deleteRoleMapping ( RoleModel  role)
inlineinherited

org.keycloak.models.RoleMapperModelを実装しています。

188  {
190  }
UserModel delegate
Definition: UserModelDelegate.java:36
void deleteRoleMapping(RoleModel role)

◆ equals()

boolean org.keycloak.models.utils.UserModelDelegate.equals ( Object  o)
inlineinherited
249  {
250  if (this == o) return true;
251  if (!(o instanceof UserModel)) return false;
252 
253  UserModel that = (UserModel) o;
254 
255  return getDelegate() != null ? getDelegate().getId().equals(that.getId()) : false;
256  }
UserModel getDelegate()
Definition: UserModelDelegate.java:212

◆ getAttribute()

List<String> org.keycloak.models.utils.UserModelDelegate.getAttribute ( String  name)
inlineinherited

org.keycloak.models.UserModelを実装しています。

88  {
89  return delegate.getAttribute(name);
90  }
List< String > getAttribute(String name)
UserModel delegate
Definition: UserModelDelegate.java:36

◆ getAttributes()

Map<String, List<String> > org.keycloak.models.utils.UserModelDelegate.getAttributes ( )
inlineinherited

org.keycloak.models.UserModelを実装しています。

93  {
94  return delegate.getAttributes();
95  }
UserModel delegate
Definition: UserModelDelegate.java:36
Map< String, List< String > > getAttributes()

◆ getClientRoleMappings()

Set<RoleModel> org.keycloak.models.utils.UserModelDelegate.getClientRoleMappings ( ClientModel  app)
inlineinherited

org.keycloak.models.RoleMapperModelを実装しています。

168  {
169  return delegate.getClientRoleMappings(app);
170  }
UserModel delegate
Definition: UserModelDelegate.java:36
Set< RoleModel > getClientRoleMappings(ClientModel app)

◆ getCreatedTimestamp()

Long org.keycloak.models.utils.UserModelDelegate.getCreatedTimestamp ( )
inlineinherited

org.keycloak.models.UserModelを実装しています。

217  {
218  return delegate.getCreatedTimestamp();
219  }
UserModel delegate
Definition: UserModelDelegate.java:36

◆ getDelegate()

UserModel org.keycloak.models.utils.UserModelDelegate.getDelegate ( )
inlineinherited
212  {
213  return delegate;
214  }
UserModel delegate
Definition: UserModelDelegate.java:36

◆ getEmail()

String org.keycloak.models.utils.UserModelDelegate.getEmail ( )
inlineinherited

org.keycloak.models.UserModelを実装しています。

143  {
144  return delegate.getEmail();
145  }
UserModel delegate
Definition: UserModelDelegate.java:36

◆ getFederationLink()

String org.keycloak.models.utils.UserModelDelegate.getFederationLink ( )
inlineinherited

org.keycloak.models.UserModelを実装しています。

193  {
194  return delegate.getFederationLink();
195  }
UserModel delegate
Definition: UserModelDelegate.java:36

◆ getFirstAttribute()

String org.keycloak.models.utils.UserModelDelegate.getFirstAttribute ( String  name)
inlineinherited

org.keycloak.models.UserModelを実装しています。

83  {
84  return delegate.getFirstAttribute(name);
85  }
UserModel delegate
Definition: UserModelDelegate.java:36
String getFirstAttribute(String name)

◆ getFirstName()

String org.keycloak.models.utils.UserModelDelegate.getFirstName ( )
inlineinherited

org.keycloak.models.UserModelを実装しています。

123  {
124  return delegate.getFirstName();
125  }
UserModel delegate
Definition: UserModelDelegate.java:36

◆ getGroups()

Set<GroupModel> org.keycloak.storage.ldap.mappers.membership.group.GroupLDAPStorageMapper.LDAPGroupMappingsUserDelegate.getGroups ( )
inline

org.keycloak.models.UserModelを実装しています。

640  {
641  Set<GroupModel> ldapGroupMappings = getLDAPGroupMappingsConverted();
642  if (config.getMode() == LDAPGroupMapperMode.LDAP_ONLY) {
643  // Use just group mappings from LDAP
644  return ldapGroupMappings;
645  } else {
646  // Merge mappings from both DB and LDAP
647  Set<GroupModel> modelGroupMappings = super.getGroups();
648  ldapGroupMappings.addAll(modelGroupMappings);
649  return ldapGroupMappings;
650  }
651  }
final GroupMapperConfig config
Definition: GroupLDAPStorageMapper.java:62
Set< GroupModel > getLDAPGroupMappingsConverted()
Definition: GroupLDAPStorageMapper.java:700
LDAPGroupMapperMode getMode()
Definition: CommonLDAPGroupMapperConfig.java:79

◆ getId()

String org.keycloak.models.utils.UserModelDelegate.getId ( )
inlineinherited

org.keycloak.models.UserModelを実装しています。

43  {
44  return delegate.getId();
45  }
UserModel delegate
Definition: UserModelDelegate.java:36

◆ getLastName()

String org.keycloak.models.utils.UserModelDelegate.getLastName ( )
inlineinherited

org.keycloak.models.UserModelを実装しています。

133  {
134  return delegate.getLastName();
135  }
UserModel delegate
Definition: UserModelDelegate.java:36

◆ getLDAPGroupMappingsConverted()

Set<GroupModel> org.keycloak.storage.ldap.mappers.membership.group.GroupLDAPStorageMapper.LDAPGroupMappingsUserDelegate.getLDAPGroupMappingsConverted ( )
inlineprotected
700  {
701  if (cachedLDAPGroupMappings != null) {
702  return new HashSet<>(cachedLDAPGroupMappings);
703  }
704 
705  List<LDAPObject> ldapGroups = getLDAPGroupMappings(ldapUser);
706 
707  Set<GroupModel> result = new HashSet<>();
708  for (LDAPObject ldapGroup : ldapGroups) {
709  GroupModel kcGroup = findKcGroupOrSyncFromLDAP(realm, ldapGroup, this);
710  if (kcGroup != null) {
711  result.add(kcGroup);
712  }
713  }
714 
715  cachedLDAPGroupMappings = new HashSet<>(result);
716 
717  return result;
718  }
GroupModel findKcGroupOrSyncFromLDAP(RealmModel realm, LDAPObject ldapGroup, UserModel user)
Definition: GroupLDAPStorageMapper.java:320
List< LDAPObject > getLDAPGroupMappings(LDAPObject ldapUser)
Definition: GroupLDAPStorageMapper.java:561

◆ getRealmRoleMappings()

Set<RoleModel> org.keycloak.models.utils.UserModelDelegate.getRealmRoleMappings ( )
inlineinherited

org.keycloak.models.RoleMapperModelを実装しています。

163  {
165  }
UserModel delegate
Definition: UserModelDelegate.java:36
Set< RoleModel > getRealmRoleMappings()

◆ getRequiredActions()

Set<String> org.keycloak.models.utils.UserModelDelegate.getRequiredActions ( )
inlineinherited

org.keycloak.models.UserModelを実装しています。

98  {
100  }
Set< String > getRequiredActions()
UserModel delegate
Definition: UserModelDelegate.java:36

◆ getRoleMappings()

Set<RoleModel> org.keycloak.models.utils.UserModelDelegate.getRoleMappings ( )
inlineinherited

org.keycloak.models.RoleMapperModelを実装しています。

183  {
184  return delegate.getRoleMappings();
185  }
Set< RoleModel > getRoleMappings()
UserModel delegate
Definition: UserModelDelegate.java:36

◆ getServiceAccountClientLink()

String org.keycloak.models.utils.UserModelDelegate.getServiceAccountClientLink ( )
inlineinherited

org.keycloak.models.UserModelを実装しています。

203  {
205  }
UserModel delegate
Definition: UserModelDelegate.java:36

◆ getUsername()

String org.keycloak.models.utils.UserModelDelegate.getUsername ( )
inlineinherited

org.keycloak.models.UserModelを実装しています。

48  {
49  return delegate.getUsername();
50  }
UserModel delegate
Definition: UserModelDelegate.java:36

◆ grantRole()

void org.keycloak.models.utils.UserModelDelegate.grantRole ( RoleModel  role)
inlineinherited

org.keycloak.models.RoleMapperModelを実装しています。

178  {
179  delegate.grantRole(role);
180  }
void grantRole(RoleModel role)
UserModel delegate
Definition: UserModelDelegate.java:36

◆ hashCode()

int org.keycloak.models.utils.UserModelDelegate.hashCode ( )
inlineinherited
259  {
260  return getDelegate().getId().hashCode();
261  }
UserModel getDelegate()
Definition: UserModelDelegate.java:212

◆ hasRole()

boolean org.keycloak.storage.ldap.mappers.membership.group.GroupLDAPStorageMapper.LDAPGroupMappingsUserDelegate.hasRole ( RoleModel  role)
inline

org.keycloak.models.RoleMapperModelを実装しています。

635  {
636  return super.hasRole(role) || RoleUtils.hasRoleFromGroup(getGroups(), role, true);
637  }

◆ isEmailVerified()

boolean org.keycloak.models.utils.UserModelDelegate.isEmailVerified ( )
inlineinherited

org.keycloak.models.UserModelを実装しています。

153  {
154  return delegate.isEmailVerified();
155  }
UserModel delegate
Definition: UserModelDelegate.java:36

◆ isEnabled()

boolean org.keycloak.models.utils.UserModelDelegate.isEnabled ( )
inlineinherited

org.keycloak.models.UserModelを実装しています。

58  {
59  return delegate.isEnabled();
60  }
UserModel delegate
Definition: UserModelDelegate.java:36

◆ isMemberOf()

boolean org.keycloak.storage.ldap.mappers.membership.group.GroupLDAPStorageMapper.LDAPGroupMappingsUserDelegate.isMemberOf ( GroupModel  group)
inline

org.keycloak.models.UserModelを実装しています。

695  {
696  Set<GroupModel> ldapGroupMappings = getGroups();
697  return ldapGroupMappings.contains(group);
698  }

◆ joinGroup()

void org.keycloak.storage.ldap.mappers.membership.group.GroupLDAPStorageMapper.LDAPGroupMappingsUserDelegate.joinGroup ( GroupModel  group)
inline

org.keycloak.models.UserModelを実装しています。

654  {
655  if (config.getMode() == LDAPGroupMapperMode.LDAP_ONLY) {
656  // We need to create new role mappings in LDAP
659  } else {
660  super.joinGroup(group);
661  }
662  }
final GroupMapperConfig config
Definition: GroupLDAPStorageMapper.java:62
void addGroupMappingInLDAP(RealmModel realm, GroupModel kcGroup, LDAPObject ldapUser)
Definition: GroupLDAPStorageMapper.java:521
LDAPGroupMapperMode getMode()
Definition: CommonLDAPGroupMapperConfig.java:79

◆ leaveGroup()

void org.keycloak.storage.ldap.mappers.membership.group.GroupLDAPStorageMapper.LDAPGroupMappingsUserDelegate.leaveGroup ( GroupModel  group)
inline

org.keycloak.models.UserModelを実装しています。

665  {
666  LDAPQuery ldapQuery = createGroupQuery(true);
667  LDAPQueryConditionsBuilder conditionsBuilder = new LDAPQueryConditionsBuilder();
668  Condition roleNameCondition = conditionsBuilder.equal(config.getGroupNameLdapAttribute(), group.getName());
669 
670  String membershipUserLdapAttrName = getMembershipUserLdapAttribute();
671  String membershipUserAttr = LDAPUtils.getMemberValueOfChildObject(ldapUser, config.getMembershipTypeLdapAttribute(), membershipUserLdapAttrName);
672  Condition membershipCondition = conditionsBuilder.equal(config.getMembershipLdapAttribute(), membershipUserAttr);
673 
674  ldapQuery.addWhereCondition(roleNameCondition).addWhereCondition(membershipCondition);
675  LDAPObject ldapGroup = ldapQuery.getFirstResult();
676 
677  if (ldapGroup == null) {
678  // Group mapping doesn't exist in LDAP. For LDAP_ONLY mode, we don't need to do anything. For READ_ONLY, delete it in local DB.
679  if (config.getMode() == LDAPGroupMapperMode.READ_ONLY) {
680  super.leaveGroup(group);
681  }
682  } else {
683  // Group mappings exists in LDAP. For LDAP_ONLY mode, we can just delete it in LDAP. For READ_ONLY we can't delete it -> throw error
684  if (config.getMode() == LDAPGroupMapperMode.READ_ONLY) {
685  throw new ModelException("Not possible to delete LDAP group mappings as mapper mode is READ_ONLY");
686  } else {
687  // Delete ldap role mappings
690  }
691  }
692  }
void deleteGroupMappingInLDAP(LDAPObject ldapUser, LDAPObject ldapGroup)
Definition: GroupLDAPStorageMapper.java:556
final GroupMapperConfig config
Definition: GroupLDAPStorageMapper.java:62
String getGroupNameLdapAttribute()
Definition: GroupMapperConfig.java:82
LDAPQuery createGroupQuery(boolean includeMemberAttribute)
Definition: GroupLDAPStorageMapper.java:91
String getMembershipUserLdapAttribute()
Definition: GroupLDAPStorageMapper.java:614
MembershipType getMembershipTypeLdapAttribute()
Definition: CommonLDAPGroupMapperConfig.java:64
String getMembershipLdapAttribute()
Definition: CommonLDAPGroupMapperConfig.java:59
LDAPGroupMapperMode getMode()
Definition: CommonLDAPGroupMapperConfig.java:79

◆ removeAttribute()

void org.keycloak.models.utils.UserModelDelegate.removeAttribute ( String  name)
inlineinherited

org.keycloak.models.UserModelを実装しています。

78  {
80  }
UserModel delegate
Definition: UserModelDelegate.java:36
void removeAttribute(String name)

◆ removeRequiredAction() [1/2]

void org.keycloak.models.utils.UserModelDelegate.removeRequiredAction ( String  action)
inlineinherited

org.keycloak.models.UserModelを実装しています。

108  {
110  }
UserModel delegate
Definition: UserModelDelegate.java:36
void removeRequiredAction(String action)

◆ removeRequiredAction() [2/2]

void org.keycloak.models.utils.UserModelDelegate.removeRequiredAction ( RequiredAction  action)
inlineinherited

org.keycloak.models.UserModelを実装しています。

118  {
120  }
UserModel delegate
Definition: UserModelDelegate.java:36
void removeRequiredAction(String action)

◆ setAttribute()

void org.keycloak.models.utils.UserModelDelegate.setAttribute ( String  name,
List< String >  values 
)
inlineinherited

org.keycloak.models.UserModelを実装しています。

73  {
74  delegate.setAttribute(name, values);
75  }
UserModel delegate
Definition: UserModelDelegate.java:36
void setAttribute(String name, List< String > values)

◆ setCreatedTimestamp()

void org.keycloak.models.utils.UserModelDelegate.setCreatedTimestamp ( Long  timestamp)
inlineinherited

org.keycloak.models.UserModelを実装しています。

222  {
223  delegate.setCreatedTimestamp(timestamp);
224  }
UserModel delegate
Definition: UserModelDelegate.java:36
void setCreatedTimestamp(Long timestamp)

◆ setEmail()

void org.keycloak.models.utils.UserModelDelegate.setEmail ( String  email)
inlineinherited

org.keycloak.models.UserModelを実装しています。

148  {
149  delegate.setEmail(email);
150  }
UserModel delegate
Definition: UserModelDelegate.java:36
void setEmail(String email)

◆ setEmailVerified()

void org.keycloak.models.utils.UserModelDelegate.setEmailVerified ( boolean  verified)
inlineinherited

org.keycloak.models.UserModelを実装しています。

158  {
159  delegate.setEmailVerified(verified);
160  }
UserModel delegate
Definition: UserModelDelegate.java:36
void setEmailVerified(boolean verified)

◆ setEnabled()

void org.keycloak.models.utils.UserModelDelegate.setEnabled ( boolean  enabled)
inlineinherited

org.keycloak.models.UserModelを実装しています。

63  {
64  delegate.setEnabled(enabled);
65  }
UserModel delegate
Definition: UserModelDelegate.java:36
void setEnabled(boolean enabled)

◆ setFederationLink()

void org.keycloak.models.utils.UserModelDelegate.setFederationLink ( String  link)
inlineinherited

org.keycloak.models.UserModelを実装しています。

198  {
200  }
UserModel delegate
Definition: UserModelDelegate.java:36
void setFederationLink(String link)

◆ setFirstName()

void org.keycloak.models.utils.UserModelDelegate.setFirstName ( String  firstName)
inlineinherited

org.keycloak.models.UserModelを実装しています。

128  {
129  delegate.setFirstName(firstName);
130  }
UserModel delegate
Definition: UserModelDelegate.java:36
void setFirstName(String firstName)

◆ setLastName()

void org.keycloak.models.utils.UserModelDelegate.setLastName ( String  lastName)
inlineinherited

org.keycloak.models.UserModelを実装しています。

138  {
139  delegate.setLastName(lastName);
140  }
UserModel delegate
Definition: UserModelDelegate.java:36
void setLastName(String lastName)

◆ setServiceAccountClientLink()

void org.keycloak.models.utils.UserModelDelegate.setServiceAccountClientLink ( String  clientInternalId)
inlineinherited

org.keycloak.models.UserModelを実装しています。

208  {
209  delegate.setServiceAccountClientLink(clientInternalId);
210  }
UserModel delegate
Definition: UserModelDelegate.java:36
void setServiceAccountClientLink(String clientInternalId)

◆ setSingleAttribute()

void org.keycloak.models.utils.UserModelDelegate.setSingleAttribute ( String  name,
String  value 
)
inlineinherited

org.keycloak.models.UserModelを実装しています。

68  {
69  delegate.setSingleAttribute(name, value);
70  }
UserModel delegate
Definition: UserModelDelegate.java:36
void setSingleAttribute(String name, String value)

◆ setUsername()

void org.keycloak.models.utils.UserModelDelegate.setUsername ( String  username)
inlineinherited

org.keycloak.models.UserModelを実装しています。

53  {
54  delegate.setUsername(username);
55  }
UserModel delegate
Definition: UserModelDelegate.java:36
void setUsername(String username)

メンバ詳解

◆ cachedLDAPGroupMappings

Set<GroupModel> org.keycloak.storage.ldap.mappers.membership.group.GroupLDAPStorageMapper.LDAPGroupMappingsUserDelegate.cachedLDAPGroupMappings
private

◆ delegate

UserModel org.keycloak.models.utils.UserModelDelegate.delegate
protectedinherited

◆ EMAIL

String org.keycloak.models.UserModel.EMAIL = "email"
inherited

◆ FIRST_NAME

String org.keycloak.models.UserModel.FIRST_NAME = "firstName"
inherited

◆ LAST_NAME

String org.keycloak.models.UserModel.LAST_NAME = "lastName"
inherited

◆ ldapUser

final LDAPObject org.keycloak.storage.ldap.mappers.membership.group.GroupLDAPStorageMapper.LDAPGroupMappingsUserDelegate.ldapUser
private

◆ LOCALE

String org.keycloak.models.UserModel.LOCALE = "locale"
inherited

◆ realm

final RealmModel org.keycloak.storage.ldap.mappers.membership.group.GroupLDAPStorageMapper.LDAPGroupMappingsUserDelegate.realm
private

◆ USERNAME

String org.keycloak.models.UserModel.USERNAME = "username"
inherited

このクラス詳解は次のファイルから抽出されました: