Class JdbcSecurityRealm

java.lang.Object
org.wildfly.security.auth.realm.jdbc.JdbcSecurityRealm
All Implemented Interfaces:
CacheableSecurityRealm, SecurityRealm

public class JdbcSecurityRealm extends Object implements CacheableSecurityRealm
Security realm implementation backed by a database.
Author:
Pedro Igor
  • Method Details

    • builder

      public static JdbcSecurityRealmBuilder builder()
    • getRealmIdentity

      public RealmIdentity getRealmIdentity(Principal principal)
      Description copied from interface: SecurityRealm
      Get a handle for to the identity for the given principal in the context of this security realm. Any validation / name mapping is an implementation detail for the realm. The identity may or may not exist. The returned handle must be cleaned up by a call to RealmIdentity.dispose().
      Specified by:
      getRealmIdentity in interface SecurityRealm
      Parameters:
      principal - the principal which identifies the identity within the realm (must not be null)
      Returns:
      the RealmIdentity for the provided principal (not null)
    • getCredentialAcquireSupport

      public SupportLevel getCredentialAcquireSupport(Class<? extends Credential> credentialType, String algorithmName, AlgorithmParameterSpec parameterSpec) throws RealmUnavailableException
      Description copied from interface: SecurityRealm
      Determine whether a credential of the given type and algorithm is definitely obtainable, possibly obtainable (for] some identities), or definitely not obtainable.
      Specified by:
      getCredentialAcquireSupport in interface SecurityRealm
      Parameters:
      credentialType - the exact credential type (must not be null)
      algorithmName - the algorithm name, or null if any algorithm is acceptable or the credential type does not support algorithm names
      parameterSpec - the algorithm parameters to match, or null if any parameters are acceptable or the credential type does not support algorithm parameters
      Returns:
      the level of support for this credential
      Throws:
      RealmUnavailableException - if the realm is not able to handle requests for any reason
    • getEvidenceVerifySupport

      public SupportLevel getEvidenceVerifySupport(Class<? extends Evidence> evidenceType, String algorithmName) throws RealmUnavailableException
      Description copied from interface: SecurityRealm
      Determine whether a given type of evidence is definitely verifiable, possibly verifiable (for some identities), or definitely not verifiable.
      Specified by:
      getEvidenceVerifySupport in interface SecurityRealm
      Parameters:
      evidenceType - the type of evidence to be verified (must not be null)
      algorithmName - the algorithm name, or null if any algorithm is acceptable or the evidence type does not support algorithm names
      Returns:
      the level of support for this evidence type
      Throws:
      RealmUnavailableException - if the realm is not able to handle requests for any reason
    • registerIdentityChangeListener

      public void registerIdentityChangeListener(Consumer<Principal> listener)
      Description copied from interface: CacheableSecurityRealm
      Register a listener that should be invoked by this realm in order to notify the caching layer about changes to a specific identity.
      Specified by:
      registerIdentityChangeListener in interface CacheableSecurityRealm
      Parameters:
      listener - the listener