keycloak
公開メンバ関数 | 静的公開変数類 | 非公開メンバ関数 | 全メンバ一覧
org.keycloak.migration.migrators.MigrateTo1_3_0 クラス
org.keycloak.migration.migrators.MigrateTo1_3_0 の継承関係図
Inheritance graph
org.keycloak.migration.migrators.MigrateTo1_3_0 連携図
Collaboration graph

公開メンバ関数

ModelVersion getVersion ()
 
void migrate (KeycloakSession session)
 
void migrateImport (KeycloakSession session, RealmModel realm, RealmRepresentation rep, boolean skipUserDependent)
 

静的公開変数類

static final ModelVersion VERSION = new ModelVersion("1.3.0")
 

非公開メンバ関数

void migrateLDAPProviders (KeycloakSession session, RealmModel realm)
 

詳解

著者
Bill Burke
バージョン
Revision
1

関数詳解

◆ getVersion()

ModelVersion org.keycloak.migration.migrators.MigrateTo1_3_0.getVersion ( )
inline

org.keycloak.migration.migrators.Migrationを実装しています。

44  {
45  return VERSION;
46  }
static final ModelVersion VERSION
Definition: MigrateTo1_3_0.java:42

◆ migrate()

void org.keycloak.migration.migrators.MigrateTo1_3_0.migrate ( KeycloakSession  session)
inline

org.keycloak.migration.migrators.Migrationを実装しています。

48  {
49  List<RealmModel> realms = session.realms().getRealms();
50  for (RealmModel realm : realms) {
51  migrateLDAPProviders(session, realm);
52  }
53 
54  }
void migrateLDAPProviders(KeycloakSession session, RealmModel realm)
Definition: MigrateTo1_3_0.java:61

◆ migrateImport()

void org.keycloak.migration.migrators.MigrateTo1_3_0.migrateImport ( KeycloakSession  session,
RealmModel  realm,
RealmRepresentation  rep,
boolean  skipUserDependent 
)
inline

org.keycloak.migration.migrators.Migrationを実装しています。

57  {
58  migrateLDAPProviders(session, realm);
59  }
void migrateLDAPProviders(KeycloakSession session, RealmModel realm)
Definition: MigrateTo1_3_0.java:61

◆ migrateLDAPProviders()

void org.keycloak.migration.migrators.MigrateTo1_3_0.migrateLDAPProviders ( KeycloakSession  session,
RealmModel  realm 
)
inlineprivate
61  {
62  List<UserStorageProviderModel> federationProviders = realm.getUserStorageProviders();
63  for (UserStorageProviderModel fedProvider : federationProviders) {
64 
65  if (fedProvider.getProviderId().equals(LDAPConstants.LDAP_PROVIDER)) {
66  fedProvider = new UserStorageProviderModel(fedProvider); // copy don't want to muck with cache
67  MultivaluedHashMap<String, String> config = fedProvider.getConfig();
68 
69  // Update config properties for LDAP federation provider
70  if (config.get(LDAPConstants.SEARCH_SCOPE) == null) {
71  config.putSingle(LDAPConstants.SEARCH_SCOPE, String.valueOf(SearchControls.SUBTREE_SCOPE));
72  }
73 
74  List<String> usersDn = config.remove("userDnSuffix");
75  if (usersDn != null && !usersDn.isEmpty() && config.getFirst(LDAPConstants.USERS_DN) == null) {
76  config.put(LDAPConstants.USERS_DN, usersDn);
77  }
78 
79  String usernameLdapAttribute = config.getFirst(LDAPConstants.USERNAME_LDAP_ATTRIBUTE);
80  if (usernameLdapAttribute != null && config.getFirst(LDAPConstants.RDN_LDAP_ATTRIBUTE) == null) {
81  if (usernameLdapAttribute.equalsIgnoreCase(LDAPConstants.SAM_ACCOUNT_NAME)) {
82  config.putSingle(LDAPConstants.RDN_LDAP_ATTRIBUTE, LDAPConstants.CN);
83  } else {
84  config.putSingle(LDAPConstants.RDN_LDAP_ATTRIBUTE, usernameLdapAttribute);
85  }
86  }
87 
88  if (config.getFirst(LDAPConstants.UUID_LDAP_ATTRIBUTE) == null) {
89  String uuidAttrName = LDAPConstants.getUuidAttributeName(config.getFirst(LDAPConstants.VENDOR));
90  config.putSingle(LDAPConstants.UUID_LDAP_ATTRIBUTE, uuidAttrName);
91  }
92 
93  realm.updateComponent(fedProvider);
94 
95  // Create default mappers for LDAP
96  List<ComponentModel> mappers = realm.getComponents(fedProvider.getId());
97  if (mappers.isEmpty()) {
98  ProviderFactory ldapFactory = session.getKeycloakSessionFactory().getProviderFactory(UserStorageProvider.class, LDAPConstants.LDAP_PROVIDER);
99  if (ldapFactory != null) {
100  ((ComponentFactory) ldapFactory).onCreate(session, realm, fedProvider);
101  }
102  }
103  }
104  }
105  }

メンバ詳解

◆ VERSION

final ModelVersion org.keycloak.migration.migrators.MigrateTo1_3_0.VERSION = new ModelVersion("1.3.0")
static

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