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

クラス

class  LDAPRoleMappingsUserDelegate
 

公開メンバ関数

 RoleLDAPStorageMapper (ComponentModel mapperModel, LDAPStorageProvider ldapProvider, RoleLDAPStorageMapperFactory factory)
 
LDAPQuery createLDAPGroupQuery ()
 
CommonLDAPGroupMapperConfig getConfig ()
 
void onImportUserFromLDAP (LDAPObject ldapUser, UserModel user, RealmModel realm, boolean isCreate)
 
void onRegisterUserToLDAP (LDAPObject ldapUser, UserModel localUser, RealmModel realm)
 
SynchronizationResult syncDataFromFederationProviderToKeycloak (RealmModel realm)
 
SynchronizationResult syncDataFromKeycloakToFederationProvider (RealmModel realm)
 
LDAPQuery createRoleQuery (boolean includeMemberAttribute)
 
LDAPObject createLDAPRole (String roleName)
 
void addRoleMappingInLDAP (String roleName, LDAPObject ldapUser)
 
void deleteRoleMappingInLDAP (LDAPObject ldapUser, LDAPObject ldapRole)
 
LDAPObject loadLDAPRoleByName (String roleName)
 
UserModel proxy (LDAPObject ldapUser, UserModel delegate, RealmModel realm)
 
void beforeLDAPQuery (LDAPQuery query)
 
List< UserModelgetGroupMembers (RealmModel realm, GroupModel group, int firstResult, int maxResults)
 
boolean onAuthenticationFailure (LDAPObject ldapUser, UserModel user, AuthenticationException ldapException, RealmModel realm)
 
LDAPStorageProvider getLdapProvider ()
 
void close ()
 

静的公開メンバ関数

static boolean parseBooleanParameter (ComponentModel mapperModel, String paramName)
 

限定公開メンバ関数

RoleContainerModel getTargetRoleContainer (RealmModel realm)
 
List< LDAPObjectgetLDAPRoleMappings (LDAPObject ldapUser)
 
String getMembershipUserLdapAttribute ()
 

限定公開変数類

final KeycloakSession session
 
final ComponentModel mapperModel
 
final LDAPStorageProvider ldapProvider
 

非公開変数類

final RoleMapperConfig config
 
final RoleLDAPStorageMapperFactory factory
 

静的非公開変数類

static final Logger logger = Logger.getLogger(RoleLDAPStorageMapper.class)
 

詳解

Map realm roles or roles of particular client to LDAP groups

著者
Marek Posolda

構築子と解体子

◆ RoleLDAPStorageMapper()

org.keycloak.storage.ldap.mappers.membership.role.RoleLDAPStorageMapper.RoleLDAPStorageMapper ( ComponentModel  mapperModel,
LDAPStorageProvider  ldapProvider,
RoleLDAPStorageMapperFactory  factory 
)
inline
62  {
63  super(mapperModel, ldapProvider);
64  this.config = new RoleMapperConfig(mapperModel);
65  this.factory = factory;
66  }
final ComponentModel mapperModel
Definition: AbstractLDAPStorageMapper.java:43
final RoleMapperConfig config
Definition: RoleLDAPStorageMapper.java:59
final RoleLDAPStorageMapperFactory factory
Definition: RoleLDAPStorageMapper.java:60
final LDAPStorageProvider ldapProvider
Definition: AbstractLDAPStorageMapper.java:44

関数詳解

◆ addRoleMappingInLDAP()

void org.keycloak.storage.ldap.mappers.membership.role.RoleLDAPStorageMapper.addRoleMappingInLDAP ( String  roleName,
LDAPObject  ldapUser 
)
inline
254  {
255  LDAPObject ldapRole = loadLDAPRoleByName(roleName);
256  if (ldapRole == null) {
257  ldapRole = createLDAPRole(roleName);
258  }
259 
260  String membershipUserAttrName = getMembershipUserLdapAttribute();
261 
262  LDAPUtils.addMember(ldapProvider, config.getMembershipTypeLdapAttribute(), config.getMembershipLdapAttribute(), membershipUserAttrName, ldapRole, ldapUser, true);
263  }
String getMembershipUserLdapAttribute()
Definition: RoleLDAPStorageMapper.java:305
final RoleMapperConfig config
Definition: RoleLDAPStorageMapper.java:59
LDAPObject createLDAPRole(String roleName)
Definition: RoleLDAPStorageMapper.java:246
final LDAPStorageProvider ldapProvider
Definition: AbstractLDAPStorageMapper.java:44
LDAPObject loadLDAPRoleByName(String roleName)
Definition: RoleLDAPStorageMapper.java:270
MembershipType getMembershipTypeLdapAttribute()
Definition: CommonLDAPGroupMapperConfig.java:64
String getMembershipLdapAttribute()
Definition: CommonLDAPGroupMapperConfig.java:59

◆ beforeLDAPQuery()

void org.keycloak.storage.ldap.mappers.membership.role.RoleLDAPStorageMapper.beforeLDAPQuery ( LDAPQuery  query)
inline

org.keycloak.storage.ldap.mappers.LDAPStorageMapperを実装しています。

298  {
299  String strategyKey = config.getUserRolesRetrieveStrategy();
300  UserRolesRetrieveStrategy strategy = factory.getUserRolesRetrieveStrategy(strategyKey);
301  strategy.beforeUserLDAPQuery(this, query);
302  }
final RoleMapperConfig config
Definition: RoleLDAPStorageMapper.java:59
void beforeUserLDAPQuery(CommonLDAPGroupMapper roleOrGroupMapper, LDAPQuery query)
final RoleLDAPStorageMapperFactory factory
Definition: RoleLDAPStorageMapper.java:60
String getUserRolesRetrieveStrategy()
Definition: RoleMapperConfig.java:108
UserRolesRetrieveStrategy getUserRolesRetrieveStrategy(String strategyKey)
Definition: RoleLDAPStorageMapperFactory.java:272

◆ close()

void org.keycloak.storage.ldap.mappers.AbstractLDAPStorageMapper.close ( )
inlineinherited

org.keycloak.provider.Providerを実装しています。

85  {
86 
87  }

◆ createLDAPGroupQuery()

LDAPQuery org.keycloak.storage.ldap.mappers.membership.role.RoleLDAPStorageMapper.createLDAPGroupQuery ( )
inline

org.keycloak.storage.ldap.mappers.membership.CommonLDAPGroupMapperを実装しています。

70  {
71  return createRoleQuery(false);
72  }
LDAPQuery createRoleQuery(boolean includeMemberAttribute)
Definition: RoleLDAPStorageMapper.java:197

◆ createLDAPRole()

LDAPObject org.keycloak.storage.ldap.mappers.membership.role.RoleLDAPStorageMapper.createLDAPRole ( String  roleName)
inline
246  {
247  LDAPObject ldapRole = LDAPUtils.createLDAPGroup(ldapProvider, roleName, config.getRoleNameLdapAttribute(), config.getRoleObjectClasses(ldapProvider),
248  config.getRolesDn(), Collections.<String, Set<String>>emptyMap());
249 
250  logger.debugf("Creating role [%s] to LDAP with DN [%s]", roleName, ldapRole.getDn().toString());
251  return ldapRole;
252  }
Collection< String > getRoleObjectClasses(LDAPStorageProvider ldapProvider)
Definition: RoleMapperConfig.java:84
String getRolesDn()
Definition: RoleMapperConfig.java:61
final RoleMapperConfig config
Definition: RoleLDAPStorageMapper.java:59
static final Logger logger
Definition: RoleLDAPStorageMapper.java:57
String getRoleNameLdapAttribute()
Definition: RoleMapperConfig.java:74
final LDAPStorageProvider ldapProvider
Definition: AbstractLDAPStorageMapper.java:44

◆ createRoleQuery()

LDAPQuery org.keycloak.storage.ldap.mappers.membership.role.RoleLDAPStorageMapper.createRoleQuery ( boolean  includeMemberAttribute)
inline
197  {
198  LDAPQuery ldapQuery = new LDAPQuery(ldapProvider);
199 
200  // For now, use same search scope, which is configured "globally" and used for user's search.
201  ldapQuery.setSearchScope(ldapProvider.getLdapIdentityStore().getConfig().getSearchScope());
202 
203  String rolesDn = config.getRolesDn();
204  ldapQuery.setSearchDn(rolesDn);
205 
206  Collection<String> roleObjectClasses = config.getRoleObjectClasses(ldapProvider);
207  ldapQuery.addObjectClasses(roleObjectClasses);
208 
209  String rolesRdnAttr = config.getRoleNameLdapAttribute();
210 
211  String customFilter = config.getCustomLdapFilter();
212  if (customFilter != null && customFilter.trim().length() > 0) {
213  Condition customFilterCondition = new LDAPQueryConditionsBuilder().addCustomLDAPFilter(customFilter);
214  ldapQuery.addWhereCondition(customFilterCondition);
215  }
216 
217  ldapQuery.addReturningLdapAttribute(rolesRdnAttr);
218 
219  // Performance improvement
220  if (includeMemberAttribute) {
221  String membershipAttr = config.getMembershipLdapAttribute();
222  ldapQuery.addReturningLdapAttribute(membershipAttr);
223  }
224 
225  return ldapQuery;
226  }
Collection< String > getRoleObjectClasses(LDAPStorageProvider ldapProvider)
Definition: RoleMapperConfig.java:84
LDAPIdentityStore getLdapIdentityStore()
Definition: LDAPStorageProvider.java:126
String getRolesDn()
Definition: RoleMapperConfig.java:61
final RoleMapperConfig config
Definition: RoleLDAPStorageMapper.java:59
String getRoleNameLdapAttribute()
Definition: RoleMapperConfig.java:74
final LDAPStorageProvider ldapProvider
Definition: AbstractLDAPStorageMapper.java:44
int getSearchScope()
Definition: LDAPConfig.java:158
LDAPConfig getConfig()
Definition: LDAPIdentityStore.java:83
String getMembershipLdapAttribute()
Definition: CommonLDAPGroupMapperConfig.java:59
String getCustomLdapFilter()
Definition: RoleMapperConfig.java:94

◆ deleteRoleMappingInLDAP()

void org.keycloak.storage.ldap.mappers.membership.role.RoleLDAPStorageMapper.deleteRoleMappingInLDAP ( LDAPObject  ldapUser,
LDAPObject  ldapRole 
)
inline
265  {
266  String membershipUserAttrName = getMembershipUserLdapAttribute();
267  LDAPUtils.deleteMember(ldapProvider, config.getMembershipTypeLdapAttribute(), config.getMembershipLdapAttribute(), membershipUserAttrName, ldapRole, ldapUser);
268  }
String getMembershipUserLdapAttribute()
Definition: RoleLDAPStorageMapper.java:305
final RoleMapperConfig config
Definition: RoleLDAPStorageMapper.java:59
final LDAPStorageProvider ldapProvider
Definition: AbstractLDAPStorageMapper.java:44
MembershipType getMembershipTypeLdapAttribute()
Definition: CommonLDAPGroupMapperConfig.java:64
String getMembershipLdapAttribute()
Definition: CommonLDAPGroupMapperConfig.java:59

◆ getConfig()

CommonLDAPGroupMapperConfig org.keycloak.storage.ldap.mappers.membership.role.RoleLDAPStorageMapper.getConfig ( )
inline

org.keycloak.storage.ldap.mappers.membership.CommonLDAPGroupMapperを実装しています。

75  {
76  return config;
77  }
final RoleMapperConfig config
Definition: RoleLDAPStorageMapper.java:59

◆ getGroupMembers()

List<UserModel> org.keycloak.storage.ldap.mappers.AbstractLDAPStorageMapper.getGroupMembers ( RealmModel  realm,
GroupModel  group,
int  firstResult,
int  maxResults 
)
inlineinherited

org.keycloak.storage.ldap.mappers.LDAPStorageMapperを実装しています。

63  {
64  return Collections.emptyList();
65  }

◆ getLdapProvider()

LDAPStorageProvider org.keycloak.storage.ldap.mappers.AbstractLDAPStorageMapper.getLdapProvider ( )
inlineinherited
79  {
80  return ldapProvider;
81  }
final LDAPStorageProvider ldapProvider
Definition: AbstractLDAPStorageMapper.java:44

◆ getLDAPRoleMappings()

List<LDAPObject> org.keycloak.storage.ldap.mappers.membership.role.RoleLDAPStorageMapper.getLDAPRoleMappings ( LDAPObject  ldapUser)
inlineprotected
277  {
278  String strategyKey = config.getUserRolesRetrieveStrategy();
279  UserRolesRetrieveStrategy strategy = factory.getUserRolesRetrieveStrategy(strategyKey);
280 
281  LDAPConfig ldapConfig = ldapProvider.getLdapIdentityStore().getConfig();
282  return strategy.getLDAPRoleMappings(this, ldapUser, ldapConfig);
283  }
LDAPIdentityStore getLdapIdentityStore()
Definition: LDAPStorageProvider.java:126
final RoleMapperConfig config
Definition: RoleLDAPStorageMapper.java:59
final RoleLDAPStorageMapperFactory factory
Definition: RoleLDAPStorageMapper.java:60
final LDAPStorageProvider ldapProvider
Definition: AbstractLDAPStorageMapper.java:44
LDAPConfig getConfig()
Definition: LDAPIdentityStore.java:83
String getUserRolesRetrieveStrategy()
Definition: RoleMapperConfig.java:108
UserRolesRetrieveStrategy getUserRolesRetrieveStrategy(String strategyKey)
Definition: RoleLDAPStorageMapperFactory.java:272

◆ getMembershipUserLdapAttribute()

String org.keycloak.storage.ldap.mappers.membership.role.RoleLDAPStorageMapper.getMembershipUserLdapAttribute ( )
inlineprotected
305  {
306  LDAPConfig ldapConfig = ldapProvider.getLdapIdentityStore().getConfig();
307  return config.getMembershipUserLdapAttribute(ldapConfig);
308  }
String getMembershipUserLdapAttribute(LDAPConfig ldapConfig)
Definition: CommonLDAPGroupMapperConfig.java:69
LDAPIdentityStore getLdapIdentityStore()
Definition: LDAPStorageProvider.java:126
final RoleMapperConfig config
Definition: RoleLDAPStorageMapper.java:59
final LDAPStorageProvider ldapProvider
Definition: AbstractLDAPStorageMapper.java:44
LDAPConfig getConfig()
Definition: LDAPIdentityStore.java:83

◆ getTargetRoleContainer()

RoleContainerModel org.keycloak.storage.ldap.mappers.membership.role.RoleLDAPStorageMapper.getTargetRoleContainer ( RealmModel  realm)
inlineprotected
228  {
229  boolean realmRolesMapping = config.isRealmRolesMapping();
230  if (realmRolesMapping) {
231  return realm;
232  } else {
233  String clientId = config.getClientId();
234  if (clientId == null) {
235  throw new ModelException("Using client roles mapping is requested, but parameter client.id not found!");
236  }
237  ClientModel client = realm.getClientByClientId(clientId);
238  if (client == null) {
239  throw new ModelException("Can't found requested client with clientId: " + clientId);
240  }
241  return client;
242  }
243  }
final RoleMapperConfig config
Definition: RoleLDAPStorageMapper.java:59
String getClientId()
Definition: RoleMapperConfig.java:103
boolean isRealmRolesMapping()
Definition: RoleMapperConfig.java:98

◆ loadLDAPRoleByName()

LDAPObject org.keycloak.storage.ldap.mappers.membership.role.RoleLDAPStorageMapper.loadLDAPRoleByName ( String  roleName)
inline
270  {
271  LDAPQuery ldapQuery = createRoleQuery(true);
272  Condition roleNameCondition = new LDAPQueryConditionsBuilder().equal(config.getRoleNameLdapAttribute(), roleName);
273  ldapQuery.addWhereCondition(roleNameCondition);
274  return ldapQuery.getFirstResult();
275  }
final RoleMapperConfig config
Definition: RoleLDAPStorageMapper.java:59
String getRoleNameLdapAttribute()
Definition: RoleMapperConfig.java:74
LDAPQuery createRoleQuery(boolean includeMemberAttribute)
Definition: RoleLDAPStorageMapper.java:197

◆ onAuthenticationFailure()

boolean org.keycloak.storage.ldap.mappers.AbstractLDAPStorageMapper.onAuthenticationFailure ( LDAPObject  ldapUser,
UserModel  user,
AuthenticationException  ldapException,
RealmModel  realm 
)
inlineinherited

org.keycloak.storage.ldap.mappers.LDAPStorageMapperを実装しています。

68  {
69  return false;
70  }

◆ onImportUserFromLDAP()

void org.keycloak.storage.ldap.mappers.membership.role.RoleLDAPStorageMapper.onImportUserFromLDAP ( LDAPObject  ldapUser,
UserModel  user,
RealmModel  realm,
boolean  isCreate 
)
inline

org.keycloak.storage.ldap.mappers.LDAPStorageMapperを実装しています。

81  {
82  LDAPGroupMapperMode mode = config.getMode();
83 
84  // For now, import LDAP role mappings just during create
85  if (mode == LDAPGroupMapperMode.IMPORT && isCreate) {
86 
87  List<LDAPObject> ldapRoles = getLDAPRoleMappings(ldapUser);
88 
89  // Import role mappings from LDAP into Keycloak DB
90  String roleNameAttr = config.getRoleNameLdapAttribute();
91  for (LDAPObject ldapRole : ldapRoles) {
92  String roleName = ldapRole.getAttributeAsString(roleNameAttr);
93 
94  RoleContainerModel roleContainer = getTargetRoleContainer(realm);
95  RoleModel role = roleContainer.getRole(roleName);
96 
97  if (role == null) {
98  role = roleContainer.addRole(roleName);
99  }
100 
101  logger.debugf("Granting role [%s] to user [%s] during import from LDAP", roleName, user.getUsername());
102  user.grantRole(role);
103  }
104  }
105  }
final RoleMapperConfig config
Definition: RoleLDAPStorageMapper.java:59
RoleContainerModel getTargetRoleContainer(RealmModel realm)
Definition: RoleLDAPStorageMapper.java:228
static final Logger logger
Definition: RoleLDAPStorageMapper.java:57
String getRoleNameLdapAttribute()
Definition: RoleMapperConfig.java:74
List< LDAPObject > getLDAPRoleMappings(LDAPObject ldapUser)
Definition: RoleLDAPStorageMapper.java:277
LDAPGroupMapperMode getMode()
Definition: CommonLDAPGroupMapperConfig.java:79

◆ onRegisterUserToLDAP()

void org.keycloak.storage.ldap.mappers.membership.role.RoleLDAPStorageMapper.onRegisterUserToLDAP ( LDAPObject  ldapUser,
UserModel  localUser,
RealmModel  realm 
)
inline

org.keycloak.storage.ldap.mappers.LDAPStorageMapperを実装しています。

108  {
109  }

◆ parseBooleanParameter()

static boolean org.keycloak.storage.ldap.mappers.AbstractLDAPStorageMapper.parseBooleanParameter ( ComponentModel  mapperModel,
String  paramName 
)
inlinestaticinherited
73  {
74  String paramm = mapperModel.getConfig().getFirst(paramName);
75  return Boolean.parseBoolean(paramm);
76  }
final ComponentModel mapperModel
Definition: AbstractLDAPStorageMapper.java:43
V getFirst(K key)
Definition: MultivaluedHashMap.java:86
MultivaluedHashMap< String, String > getConfig()
Definition: ComponentModel.java:71

◆ proxy()

UserModel org.keycloak.storage.ldap.mappers.membership.role.RoleLDAPStorageMapper.proxy ( LDAPObject  ldapUser,
UserModel  delegate,
RealmModel  realm 
)
inline

org.keycloak.storage.ldap.mappers.LDAPStorageMapperを実装しています。

286  {
287  final LDAPGroupMapperMode mode = config.getMode();
288 
289  // For IMPORT mode, all operations are performed against local DB
290  if (mode == LDAPGroupMapperMode.IMPORT) {
291  return delegate;
292  } else {
293  return new LDAPRoleMappingsUserDelegate(realm, delegate, ldapUser);
294  }
295  }
final RoleMapperConfig config
Definition: RoleLDAPStorageMapper.java:59
LDAPGroupMapperMode getMode()
Definition: CommonLDAPGroupMapperConfig.java:79

◆ syncDataFromFederationProviderToKeycloak()

SynchronizationResult org.keycloak.storage.ldap.mappers.membership.role.RoleLDAPStorageMapper.syncDataFromFederationProviderToKeycloak ( RealmModel  realm)
inline

org.keycloak.storage.ldap.mappers.LDAPStorageMapperを実装しています。

114  {
115  SynchronizationResult syncResult = new SynchronizationResult() {
116 
117  @Override
118  public String getStatus() {
119  return String.format("%d imported roles, %d roles already exists in Keycloak", getAdded(), getUpdated());
120  }
121 
122  };
123 
124  logger.debugf("Syncing roles from LDAP into Keycloak DB. Mapper is [%s], LDAP provider is [%s]", mapperModel.getName(), ldapProvider.getModel().getName());
125 
126  // Send LDAP query to load all roles
127  LDAPQuery ldapRoleQuery = createRoleQuery(false);
128  List<LDAPObject> ldapRoles = LDAPUtils.loadAllLDAPObjects(ldapRoleQuery, ldapProvider);
129 
130  RoleContainerModel roleContainer = getTargetRoleContainer(realm);
131  String rolesRdnAttr = config.getRoleNameLdapAttribute();
132  for (LDAPObject ldapRole : ldapRoles) {
133  String roleName = ldapRole.getAttributeAsString(rolesRdnAttr);
134 
135  if (roleContainer.getRole(roleName) == null) {
136  logger.debugf("Syncing role [%s] from LDAP to keycloak DB", roleName);
137  roleContainer.addRole(roleName);
138  syncResult.increaseAdded();
139  } else {
140  syncResult.increaseUpdated();
141  }
142  }
143 
144  return syncResult;
145  }
final ComponentModel mapperModel
Definition: AbstractLDAPStorageMapper.java:43
final RoleMapperConfig config
Definition: RoleLDAPStorageMapper.java:59
RoleContainerModel getTargetRoleContainer(RealmModel realm)
Definition: RoleLDAPStorageMapper.java:228
static final Logger logger
Definition: RoleLDAPStorageMapper.java:57
String getRoleNameLdapAttribute()
Definition: RoleMapperConfig.java:74
UserStorageProviderModel getModel()
Definition: LDAPStorageProvider.java:134
LDAPQuery createRoleQuery(boolean includeMemberAttribute)
Definition: RoleLDAPStorageMapper.java:197
final LDAPStorageProvider ldapProvider
Definition: AbstractLDAPStorageMapper.java:44
String getName()
Definition: ComponentModel.java:63

◆ syncDataFromKeycloakToFederationProvider()

SynchronizationResult org.keycloak.storage.ldap.mappers.membership.role.RoleLDAPStorageMapper.syncDataFromKeycloakToFederationProvider ( RealmModel  realm)
inline

org.keycloak.storage.ldap.mappers.LDAPStorageMapperを実装しています。

150  {
151  SynchronizationResult syncResult = new SynchronizationResult() {
152 
153  @Override
154  public String getStatus() {
155  return String.format("%d roles imported to LDAP, %d roles already existed in LDAP", getAdded(), getUpdated());
156  }
157 
158  };
159 
160  if (config.getMode() != LDAPGroupMapperMode.LDAP_ONLY) {
161  logger.warnf("Ignored sync for federation mapper '%s' as it's mode is '%s'", mapperModel.getName(), config.getMode().toString());
162  return syncResult;
163  }
164 
165  logger.debugf("Syncing roles from Keycloak into LDAP. Mapper is [%s], LDAP provider is [%s]", mapperModel.getName(), ldapProvider.getModel().getName());
166 
167  // Send LDAP query to see which roles exists there
168  LDAPQuery ldapQuery = createRoleQuery(false);
169  List<LDAPObject> ldapRoles = LDAPUtils.loadAllLDAPObjects(ldapQuery, ldapProvider);
170 
171  Set<String> ldapRoleNames = new HashSet<>();
172  String rolesRdnAttr = config.getRoleNameLdapAttribute();
173  for (LDAPObject ldapRole : ldapRoles) {
174  String roleName = ldapRole.getAttributeAsString(rolesRdnAttr);
175  ldapRoleNames.add(roleName);
176  }
177 
178 
179  RoleContainerModel roleContainer = getTargetRoleContainer(realm);
180  Set<RoleModel> keycloakRoles = roleContainer.getRoles();
181 
182  for (RoleModel keycloakRole : keycloakRoles) {
183  String roleName = keycloakRole.getName();
184  if (ldapRoleNames.contains(roleName)) {
185  syncResult.increaseUpdated();
186  } else {
187  logger.debugf("Syncing role [%s] from Keycloak to LDAP", roleName);
188  createLDAPRole(roleName);
189  syncResult.increaseAdded();
190  }
191  }
192 
193  return syncResult;
194  }
final ComponentModel mapperModel
Definition: AbstractLDAPStorageMapper.java:43
final RoleMapperConfig config
Definition: RoleLDAPStorageMapper.java:59
RoleContainerModel getTargetRoleContainer(RealmModel realm)
Definition: RoleLDAPStorageMapper.java:228
static final Logger logger
Definition: RoleLDAPStorageMapper.java:57
String getRoleNameLdapAttribute()
Definition: RoleMapperConfig.java:74
LDAPObject createLDAPRole(String roleName)
Definition: RoleLDAPStorageMapper.java:246
UserStorageProviderModel getModel()
Definition: LDAPStorageProvider.java:134
LDAPQuery createRoleQuery(boolean includeMemberAttribute)
Definition: RoleLDAPStorageMapper.java:197
final LDAPStorageProvider ldapProvider
Definition: AbstractLDAPStorageMapper.java:44
LDAPGroupMapperMode getMode()
Definition: CommonLDAPGroupMapperConfig.java:79
String getName()
Definition: ComponentModel.java:63

メンバ詳解

◆ config

final RoleMapperConfig org.keycloak.storage.ldap.mappers.membership.role.RoleLDAPStorageMapper.config
private

◆ factory

final RoleLDAPStorageMapperFactory org.keycloak.storage.ldap.mappers.membership.role.RoleLDAPStorageMapper.factory
private

◆ ldapProvider

final LDAPStorageProvider org.keycloak.storage.ldap.mappers.AbstractLDAPStorageMapper.ldapProvider
protectedinherited

◆ logger

final Logger org.keycloak.storage.ldap.mappers.membership.role.RoleLDAPStorageMapper.logger = Logger.getLogger(RoleLDAPStorageMapper.class)
staticprivate

◆ mapperModel

final ComponentModel org.keycloak.storage.ldap.mappers.AbstractLDAPStorageMapper.mapperModel
protectedinherited

◆ session

final KeycloakSession org.keycloak.storage.ldap.mappers.AbstractLDAPStorageMapper.session
protectedinherited

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