Class JaasSecurityRealm

java.lang.Object
org.wildfly.security.auth.realm.JaasSecurityRealm
All Implemented Interfaces:
SecurityRealm

public class JaasSecurityRealm extends Object implements SecurityRealm
A JAAS based SecurityRealm implementation.
Author:
Stefan Guilhen
  • Constructor Details

    • JaasSecurityRealm

      public JaasSecurityRealm(String entry)
      Construct a new instance.
      Parameters:
      entry - JAAS configuration file entry (must not be null)
    • JaasSecurityRealm

      public JaasSecurityRealm(String entry, ClassLoader classLoader)
      Construct a new instance.
      Parameters:
      entry - JAAS configuration file entry (must not be null)
      classLoader - classLoader to use with LoginContext, this class loader must contain LoginModule CallbackHandler classes
    • JaasSecurityRealm

      public JaasSecurityRealm(String entry, String jaasConfigFilePath)
      Construct a new instance.
      Parameters:
      entry - JAAS configuration file entry (must not be null)
      jaasConfigFilePath - path to JAAS configuration file
    • JaasSecurityRealm

      public JaasSecurityRealm(String entry, String jaasConfigFilePath, ClassLoader classLoader)
      Construct a new instance.
      Parameters:
      entry - JAAS configuration file entry (must not be null)
      jaasConfigFilePath - path to JAAS configuration file
      classLoader - classLoader to use with LoginContext, this class loader must contain LoginModule CallbackHandler classes
    • JaasSecurityRealm

      public JaasSecurityRealm(String entry, String jaasConfigFilePath, ClassLoader classLoader, CallbackHandler callbackHandler)
      Construct a new instance.
      Parameters:
      entry - JAAS configuration file entry (must not be null)
      jaasConfigFilePath - path to JAAS configuration file
      callbackHandler - callbackHandler to pass to LoginContext
      classLoader - classLoader to use with LoginContext, this class loader must contain LoginModule CallbackHandler classes
  • Method Details

    • 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