Class CachingSecurityRealm

java.lang.Object
org.wildfly.security.auth.realm.CachingSecurityRealm
All Implemented Interfaces:
SecurityRealm
Direct Known Subclasses:
CachingModifiableSecurityRealm

public class CachingSecurityRealm extends Object implements SecurityRealm

A wrapper class that provides caching capabilities for a SecurityRealm and its identities.

Author:
Pedro Igor
  • Constructor Details

  • Method Details

    • getRealmIdentity

      public RealmIdentity getRealmIdentity(Principal principal) throws RealmUnavailableException
      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)
      Throws:
      RealmUnavailableException
    • 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
    • handleRealmEvent

      public void handleRealmEvent(RealmEvent event)
      Description copied from interface: SecurityRealm
      Handle a realm event. These events allow the realm to act upon occurrences that are relevant to policy of the realm; for example, the realm may choose to increase password iteration count on authentication success, or change the salt of a password after a certain number of authentications.

      The default implementation does nothing.

      Specified by:
      handleRealmEvent in interface SecurityRealm
      Parameters:
      event - the realm event
    • removeFromCache

      public void removeFromCache(Principal principal)
      Removes a RealmIdentity referenced by the specified Principal from the cache.
      Parameters:
      principal - the Principal that references a previously cached realm identity
    • removeAllFromCache

      public void removeAllFromCache()
      Removes all cached identities from the cache.
    • getCacheableRealm

      protected SecurityRealm getCacheableRealm()
      Gets wrapped backing realm.
      Returns:
      the wrapped backing realm