keycloak
公開メンバ関数 | 関数 | 非公開メンバ関数 | 非公開変数類 | 全メンバ一覧
org.keycloak.authorization.policy.provider.drools.DroolsPolicyProviderFactory クラス
org.keycloak.authorization.policy.provider.drools.DroolsPolicyProviderFactory の継承関係図
Inheritance graph
org.keycloak.authorization.policy.provider.drools.DroolsPolicyProviderFactory 連携図
Collaboration graph

公開メンバ関数

String getName ()
 
String getGroup ()
 
PolicyProvider create (AuthorizationProvider authorization)
 
RulePolicyRepresentation toRepresentation (Policy policy, AuthorizationProvider authorization)
 
PolicyProviderAdminService getAdminResource (ResourceServer resourceServer, AuthorizationProvider authorization)
 
PolicyProvider create (KeycloakSession session)
 
void onCreate (Policy policy, RulePolicyRepresentation representation, AuthorizationProvider authorization)
 
void onUpdate (Policy policy, RulePolicyRepresentation representation, AuthorizationProvider authorization)
 
void onImport (Policy policy, PolicyRepresentation representation, AuthorizationProvider authorization)
 
void onRemove (Policy policy, AuthorizationProvider authorization)
 
Class< RulePolicyRepresentationgetRepresentationType ()
 
void init (Config.Scope config)
 
void postInit (KeycloakSessionFactory factory)
 
void close ()
 
String getId ()
 
default boolean isInternal ()
 
default void onCreate (Policy policy, R representation, AuthorizationProvider authorization)
 
default void onUpdate (Policy policy, R representation, AuthorizationProvider authorization)
 
default void onExport (Policy policy, PolicyRepresentation representation, AuthorizationProvider authorizationProvider)
 
void init (Config.Scope config)
 
default int order ()
 

関数

void update (Policy policy)
 
void remove (Policy policy)
 
KieContainer getKieContainer (String groupId, String artifactId, String version)
 

非公開メンバ関数

void updateConfig (Policy policy, RulePolicyRepresentation representation)
 

非公開変数類

KieServices ks
 
final Map< String, DroolsPolicycontainers = Collections.synchronizedMap(new HashMap<>())
 
DroolsPolicyProvider provider
 

詳解

著者
Pedro Igor

関数詳解

◆ close()

void org.keycloak.authorization.policy.provider.drools.DroolsPolicyProviderFactory.close ( )
inline

org.keycloak.provider.ProviderFactory< T extends Provider >を実装しています。

115  {
116  this.containers.values().forEach(DroolsPolicy::dispose);
117  this.containers.clear();
118  }
final Map< String, DroolsPolicy > containers
Definition: DroolsPolicyProviderFactory.java:28

◆ create() [1/2]

PolicyProvider org.keycloak.authorization.policy.provider.drools.DroolsPolicyProviderFactory.create ( AuthorizationProvider  authorization)
inline

◆ create() [2/2]

PolicyProvider org.keycloak.authorization.policy.provider.drools.DroolsPolicyProviderFactory.create ( KeycloakSession  session)
inline

org.keycloak.provider.ProviderFactory< T extends Provider >を実装しています。

74  {
75  return null;
76  }

◆ getAdminResource()

PolicyProviderAdminService org.keycloak.authorization.policy.provider.drools.DroolsPolicyProviderFactory.getAdminResource ( ResourceServer  resourceServer,
AuthorizationProvider  authorization 
)
inline

org.keycloak.authorization.policy.provider.PolicyProviderFactory< R extends AbstractPolicyRepresentation >を実装しています。

69  {
70  return new DroolsPolicyAdminResource(this);
71  }

◆ getGroup()

String org.keycloak.authorization.policy.provider.drools.DroolsPolicyProviderFactory.getGroup ( )
inline

◆ getId()

String org.keycloak.authorization.policy.provider.drools.DroolsPolicyProviderFactory.getId ( )
inline

org.keycloak.provider.ProviderFactory< T extends Provider >を実装しています。

121  {
122  return "rules";
123  }

◆ getKieContainer()

KieContainer org.keycloak.authorization.policy.provider.drools.DroolsPolicyProviderFactory.getKieContainer ( String  groupId,
String  artifactId,
String  version 
)
inlinepackage
150  {
151  return this.ks.newKieContainer(this.ks.newReleaseId(groupId, artifactId, version));
152  }
KieServices ks
Definition: DroolsPolicyProviderFactory.java:27

◆ getName()

String org.keycloak.authorization.policy.provider.drools.DroolsPolicyProviderFactory.getName ( )
inline

◆ getRepresentationType()

Class<RulePolicyRepresentation> org.keycloak.authorization.policy.provider.drools.DroolsPolicyProviderFactory.getRepresentationType ( )
inline

org.keycloak.authorization.policy.provider.PolicyProviderFactory< R extends AbstractPolicyRepresentation >を実装しています。

101  {
102  return RulePolicyRepresentation.class;
103  }

◆ init() [1/2]

void org.keycloak.provider.ProviderFactory< T extends Provider >.init ( Config.Scope  config)
inherited

Only called once when the factory is first created. This config is pulled from keycloak_server.json

引数
config

org.keycloak.storage.ldap.LDAPStorageProviderFactory, org.keycloak.protocol.saml.EntityDescriptorDescriptionConverter, org.keycloak.authentication.authenticators.x509.AbstractX509ClientCertificateAuthenticatorFactory, org.keycloak.authentication.forms.RegistrationUserCreation, org.keycloak.authentication.authenticators.resetcred.ResetCredentialEmail, org.keycloak.authentication.forms.RegistrationRecaptcha, org.keycloak.authentication.authenticators.resetcred.ResetCredentialChooseUser, org.keycloak.authentication.forms.RegistrationProfile, org.keycloak.authentication.forms.RegistrationPassword, org.keycloak.cluster.infinispan.InfinispanClusterProviderFactory, org.keycloak.protocol.saml.installation.KeycloakSamlClientInstallation, org.keycloak.protocol.saml.installation.SamlIDPDescriptorClientInstallation, org.keycloak.authentication.requiredactions.UpdateProfile, org.keycloak.authentication.requiredactions.UpdatePassword, org.keycloak.protocol.oidc.installation.KeycloakOIDCClientInstallation, org.keycloak.protocol.saml.mappers.RoleNameMapper, org.keycloak.connections.httpclient.DefaultHttpClientFactory, org.keycloak.protocol.saml.installation.ModAuthMellonClientInstallation, org.keycloak.federation.kerberos.KerberosFederationProviderFactory, org.keycloak.authentication.requiredactions.VerifyEmail, org.keycloak.authentication.requiredactions.UpdateTotp, org.keycloak.connections.jpa.updater.liquibase.conn.DefaultLiquibaseConnectionProvider, org.keycloak.protocol.oidc.installation.KeycloakOIDCJbossSubsystemClientInstallation, org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory, org.keycloak.protocol.saml.installation.SamlSPDescriptorClientInstallation, org.keycloak.policy.BlacklistPasswordPolicyProviderFactory, org.keycloak.authentication.forms.RegistrationPage, org.keycloak.protocol.saml.profile.ecp.authenticator.HttpBasicAuthenticatorFactory, org.keycloak.authentication.authenticators.browser.IdentityProviderAuthenticatorFactory, org.keycloak.authentication.authenticators.resetcred.AbstractSetRequiredActionAuthenticator, org.keycloak.connections.infinispan.DefaultInfinispanConnectionProviderFactory, org.keycloak.protocol.saml.installation.KeycloakSamlSubsystemInstallation, org.keycloak.keys.infinispan.InfinispanPublicKeyStorageProviderFactory, org.keycloak.theme.ClasspathThemeProviderFactory, org.keycloak.models.cache.infinispan.InfinispanUserCacheProviderFactory, org.keycloak.models.cache.infinispan.InfinispanCacheRealmProviderFactory, org.keycloak.executors.DefaultExecutorsProviderFactory, org.keycloak.authentication.authenticators.browser.ScriptBasedAuthenticatorFactory, org.keycloak.protocol.saml.SamlProtocolFactory, org.keycloak.authentication.authenticators.browser.ConditionalOtpFormAuthenticatorFactory, org.keycloak.protocol.docker.DockerAuthenticatorFactory, org.keycloak.storage.UserStorageProviderFactory< T extends UserStorageProvider >, org.keycloak.storage.client.ClientStorageProviderFactory< T extends ClientStorageProvider >, org.keycloak.authentication.authenticators.directgrant.AbstractDirectGrantAuthenticator, org.keycloak.authentication.authenticators.browser.OTPFormAuthenticatorFactory, org.keycloak.authentication.authenticators.browser.UsernamePasswordFormFactory, org.keycloak.exportimport.KeycloakClientDescriptionConverter, org.keycloak.authentication.authenticators.browser.SpnegoAuthenticatorFactory, org.keycloak.protocol.oidc.mappers.AbstractOIDCProtocolMapper, org.keycloak.authentication.authenticators.browser.CookieAuthenticatorFactory, org.keycloak.authentication.requiredactions.TermsAndConditions, org.keycloak.events.email.EmailEventListenerProviderFactory, org.keycloak.authentication.authenticators.broker.IdpReviewProfileAuthenticatorFactory, org.keycloak.protocol.saml.mappers.AbstractSAMLProtocolMapper, org.keycloak.models.session.DisabledUserSessionPersisterProvider, org.keycloak.services.x509.DefaultClientCertificateLookupFactory, org.keycloak.authentication.authenticators.broker.IdpCreateUserIfUniqueAuthenticatorFactory, org.keycloak.authentication.authenticators.cli.CliUsernamePasswordAuthenticatorFactory, org.keycloak.authentication.authenticators.client.AbstractClientAuthenticator, org.keycloak.theme.JarThemeProviderFactory, org.keycloak.authentication.authenticators.challenge.BasicAuthAuthenticatorFactory, org.keycloak.authentication.authenticators.challenge.BasicAuthOTPAuthenticatorFactory, org.keycloak.authentication.authenticators.challenge.NoCookieFlowRedirectAuthenticatorFactory, org.keycloak.connections.jpa.updater.liquibase.lock.LiquibaseDBLockProviderFactory, org.keycloak.models.sessions.infinispan.InfinispanActionTokenStoreProviderFactory, org.keycloak.timer.basic.BasicTimerProviderFactory, org.keycloak.truststore.FileTruststoreProviderFactory, org.keycloak.authentication.authenticators.console.ConsoleUsernamePasswordAuthenticatorFactory, org.keycloak.events.log.JBossLoggingEventListenerProviderFactory, org.keycloak.protocol.oidc.OIDCClientDescriptionConverterFactory, org.keycloak.authentication.authenticators.broker.IdpConfirmLinkAuthenticatorFactory, org.keycloak.authentication.authenticators.broker.IdpEmailVerificationAuthenticatorFactory, org.keycloak.exportimport.singlefile.SingleFileImportProviderFactory, org.keycloak.services.x509.AbstractClientCertificateFromHttpHeadersLookupFactory, org.keycloak.theme.ClasspathThemeResourceProviderFactory, org.keycloak.exportimport.dir.DirExportProviderFactory, org.keycloak.exportimport.singlefile.SingleFileExportProviderFactory, org.keycloak.policy.HashAlgorithmPasswordPolicyProviderFactory, org.keycloak.policy.HistoryPasswordPolicyProviderFactory, org.keycloak.protocol.docker.mapper.DockerAuthV2ProtocolMapper, org.keycloak.authentication.authenticators.broker.IdpAutoLinkAuthenticatorFactory, org.keycloak.models.jpa.session.JpaUserSessionPersisterProviderFactory, org.keycloak.policy.DigitsPasswordPolicyProviderFactory, org.keycloak.policy.LengthPasswordPolicyProviderFactory, org.keycloak.policy.NotUsernamePasswordPolicyProviderFactory, org.keycloak.policy.RegexPatternsPasswordPolicyProviderFactory, org.keycloak.scripting.DefaultScriptingProviderFactory, org.keycloak.credential.hash.Pbkdf2PasswordHashProviderFactory, org.keycloak.events.jpa.JpaEventStoreProviderFactory, org.keycloak.exportimport.dir.DirImportProviderFactory, org.keycloak.transaction.JBossJtaTransactionManagerLookup, org.keycloak.email.freemarker.FreeMarkerEmailTemplateProviderFactory, org.keycloak.forms.account.freemarker.FreeMarkerAccountProviderFactory, org.keycloak.forms.login.freemarker.FreeMarkerLoginFormsProviderFactory, org.keycloak.policy.ForceExpiredPasswordPolicyProviderFactory, org.keycloak.storage.jpa.JpaUserFederatedStorageProviderFactory, org.keycloak.keys.KeyProviderFactory< T extends KeyProvider >, org.keycloak.policy.HashIterationsPasswordPolicyProviderFactory, org.keycloak.protocol.oidc.OIDCWellKnownProviderFactory, org.keycloak.protocol.saml.clientregistration.EntityDescriptorClientRegistrationProviderFactory, org.keycloak.services.clientregistration.oidc.OIDCClientRegistrationProviderFactory, org.keycloak.theme.ExtendingThemeManagerFactory, org.keycloak.theme.FolderThemeProviderFactory, org.keycloak.credential.CredentialProviderFactory< T extends CredentialProvider >, org.keycloak.services.clientregistration.policy.AbstractClientRegistrationPolicyFactory, org.keycloak.connections.jpa.updater.liquibase.LiquibaseJpaUpdaterProviderFactory, org.keycloak.policy.LowerCasePasswordPolicyProviderFactory, org.keycloak.policy.SpecialCharsPasswordPolicyProviderFactory, org.keycloak.policy.UpperCasePasswordPolicyProviderFactory, org.keycloak.protocol.oidc.AccessTokenIntrospectionProviderFactory, org.keycloak.provider.wildfly.ModuleThemeProviderFactory, org.keycloak.services.managers.DefaultBruteForceProtectorFactory, org.keycloak.services.migration.DefaultMigrationProviderFactory, org.keycloak.models.jpa.JpaRealmProviderFactory, org.keycloak.models.jpa.JpaUserCredentialStoreFactory, org.keycloak.models.jpa.JpaUserProviderFactory, org.keycloak.protocol.docker.installation.DockerComposeYamlInstallationProvider, org.keycloak.email.DefaultEmailSenderProviderFactory, org.keycloak.policy.DefaultPasswordPolicyManagerProviderFactory, org.keycloak.protocol.AbstractLoginProtocolFactory, org.keycloak.services.clientregistration.AdapterInstallationClientRegistrationProviderFactory, org.keycloak.services.clientregistration.DefaultClientRegistrationProviderFactory, org.keycloak.locale.DefaultLocaleSelectorProviderFactory, org.keycloak.urls.HostnameProviderFactory, org.keycloak.credential.hash.Pbkdf2Sha256PasswordHashProviderFactory, org.keycloak.credential.hash.Pbkdf2Sha512PasswordHashProviderFactory, org.keycloak.crypto.SignatureProviderFactory, org.keycloak.protocol.docker.installation.DockerRegistryConfigFileInstallationProvider, org.keycloak.protocol.docker.installation.DockerVariableOverrideInstallationProvider, org.keycloak.url.FixedHostnameProviderFactory, org.keycloak.theme.DefaultThemeSelectorProviderFactory, org.keycloak.protocol.oidc.ext.OIDCExtProviderFactory (計132項目)で実装されています。

◆ init() [2/2]

void org.keycloak.authorization.policy.provider.drools.DroolsPolicyProviderFactory.init ( Config.Scope  config)
inline
106  {
107  this.ks = Factory.get();
108  }
KieServices ks
Definition: DroolsPolicyProviderFactory.java:27

◆ isInternal()

default boolean org.keycloak.authorization.policy.provider.PolicyProviderFactory< R extends AbstractPolicyRepresentation >.isInternal ( )
inlineinherited
37  {
38  return false;
39  }

◆ onCreate() [1/2]

default void org.keycloak.authorization.policy.provider.PolicyProviderFactory< R extends AbstractPolicyRepresentation >.onCreate ( Policy  policy,
representation,
AuthorizationProvider  authorization 
)
inlineinherited
47  {
48 
49  }

◆ onCreate() [2/2]

void org.keycloak.authorization.policy.provider.drools.DroolsPolicyProviderFactory.onCreate ( Policy  policy,
RulePolicyRepresentation  representation,
AuthorizationProvider  authorization 
)
inline
79  {
80  updateConfig(policy, representation);
81  update(policy);
82  }
void updateConfig(Policy policy, RulePolicyRepresentation representation)
Definition: DroolsPolicyProviderFactory.java:125
void update(Policy policy)
Definition: DroolsPolicyProviderFactory.java:137

◆ onExport()

default void org.keycloak.authorization.policy.provider.PolicyProviderFactory< R extends AbstractPolicyRepresentation >.onExport ( Policy  policy,
PolicyRepresentation  representation,
AuthorizationProvider  authorizationProvider 
)
inlineinherited
63  {
64  }

◆ onImport()

void org.keycloak.authorization.policy.provider.drools.DroolsPolicyProviderFactory.onImport ( Policy  policy,
PolicyRepresentation  representation,
AuthorizationProvider  authorization 
)
inline

org.keycloak.authorization.policy.provider.PolicyProviderFactory< R extends AbstractPolicyRepresentation >を実装しています。

91  {
92  update(policy);
93  }
void update(Policy policy)
Definition: DroolsPolicyProviderFactory.java:137

◆ onRemove()

void org.keycloak.authorization.policy.provider.drools.DroolsPolicyProviderFactory.onRemove ( Policy  policy,
AuthorizationProvider  authorization 
)
inline

◆ onUpdate() [1/2]

default void org.keycloak.authorization.policy.provider.PolicyProviderFactory< R extends AbstractPolicyRepresentation >.onUpdate ( Policy  policy,
representation,
AuthorizationProvider  authorization 
)
inlineinherited
51  {
52 
53  }

◆ onUpdate() [2/2]

void org.keycloak.authorization.policy.provider.drools.DroolsPolicyProviderFactory.onUpdate ( Policy  policy,
RulePolicyRepresentation  representation,
AuthorizationProvider  authorization 
)
inline
85  {
86  updateConfig(policy, representation);
87  update(policy);
88  }
void updateConfig(Policy policy, RulePolicyRepresentation representation)
Definition: DroolsPolicyProviderFactory.java:125
void update(Policy policy)
Definition: DroolsPolicyProviderFactory.java:137

◆ order()

default int org.keycloak.provider.ProviderFactory< T extends Provider >.order ( )
inlineinherited

◆ postInit()

void org.keycloak.authorization.policy.provider.drools.DroolsPolicyProviderFactory.postInit ( KeycloakSessionFactory  factory)
inline

org.keycloak.provider.ProviderFactory< T extends Provider >を実装しています。

111  {
112  }

◆ remove()

void org.keycloak.authorization.policy.provider.drools.DroolsPolicyProviderFactory.remove ( Policy  policy)
inlinepackage
142  {
143  DroolsPolicy holder = this.containers.remove(policy.getId());
144 
145  if (holder != null) {
146  holder.dispose();
147  }
148  }
final Map< String, DroolsPolicy > containers
Definition: DroolsPolicyProviderFactory.java:28

◆ toRepresentation()

RulePolicyRepresentation org.keycloak.authorization.policy.provider.drools.DroolsPolicyProviderFactory.toRepresentation ( Policy  policy,
AuthorizationProvider  authorization 
)
inline

org.keycloak.authorization.policy.provider.PolicyProviderFactory< R extends AbstractPolicyRepresentation >を実装しています。

54  {
55  RulePolicyRepresentation representation = new RulePolicyRepresentation();
56 
57  representation.setArtifactGroupId(policy.getConfig().get("mavenArtifactGroupId"));
58  representation.setArtifactId(policy.getConfig().get("mavenArtifactId"));
59  representation.setArtifactVersion(policy.getConfig().get("mavenArtifactVersion"));
60  representation.setScannerPeriod(policy.getConfig().get("scannerPeriod"));
61  representation.setScannerPeriodUnit(policy.getConfig().get("scannerPeriodUnit"));
62  representation.setSessionName(policy.getConfig().get("sessionName"));
63  representation.setModuleName(policy.getConfig().get("moduleName"));
64 
65  return representation;
66  }

◆ update()

void org.keycloak.authorization.policy.provider.drools.DroolsPolicyProviderFactory.update ( Policy  policy)
inlinepackage
137  {
138  remove(policy);
139  this.containers.put(policy.getId(), new DroolsPolicy(this.ks, policy));
140  }
KieServices ks
Definition: DroolsPolicyProviderFactory.java:27
final Map< String, DroolsPolicy > containers
Definition: DroolsPolicyProviderFactory.java:28

◆ updateConfig()

void org.keycloak.authorization.policy.provider.drools.DroolsPolicyProviderFactory.updateConfig ( Policy  policy,
RulePolicyRepresentation  representation 
)
inlineprivate
125  {
126 
127  policy.putConfig("mavenArtifactGroupId", representation.getArtifactGroupId());
128  policy.putConfig("mavenArtifactId", representation.getArtifactId());
129  policy.putConfig("mavenArtifactVersion", representation.getArtifactVersion());
130  policy.putConfig("scannerPeriod", representation.getScannerPeriod());
131  policy.putConfig("scannerPeriodUnit", representation.getScannerPeriodUnit());
132  policy.putConfig("sessionName", representation.getSessionName());
133  policy.putConfig("moduleName", representation.getModuleName());
134 
135  }

メンバ詳解

◆ containers

final Map<String, DroolsPolicy> org.keycloak.authorization.policy.provider.drools.DroolsPolicyProviderFactory.containers = Collections.synchronizedMap(new HashMap<>())
private

◆ ks

KieServices org.keycloak.authorization.policy.provider.drools.DroolsPolicyProviderFactory.ks
private

◆ provider

DroolsPolicyProvider org.keycloak.authorization.policy.provider.drools.DroolsPolicyProviderFactory.provider
private
初期値:
= new DroolsPolicyProvider(policy -> {
if (!containers.containsKey(policy.getId())) {
synchronized (containers) {
update(policy);
}
}
return containers.get(policy.getId());
})

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