Class CacheableIdentityService

java.lang.Object
org.apache.kerby.config.Configured
org.apache.kerby.kerberos.kerb.identity.CacheableIdentityService
All Implemented Interfaces:
org.apache.kerby.config.Configurable, IdentityService

public class CacheableIdentityService extends org.apache.kerby.config.Configured implements IdentityService
A cacheable identity backend that provides a cache with FIFO and size limit. Note only limited recently active identities are kept in the cache, and other identities are meant to be loaded from the underlying backend like memory, file, SQL DB, LDAP, and etc.
  • Constructor Summary

    Constructors
    Constructor
    Description
    CacheableIdentityService(org.apache.kerby.config.Config config, IdentityService underlying)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.apache.kerby.kerberos.kerb.request.KrbIdentity
    addIdentity(org.apache.kerby.kerberos.kerb.request.KrbIdentity identity)
    Add an identity, and return the newly created result.
    void
    deleteIdentity(String principalName)
    Delete the identity specified by principal name
    Get all of the identity principal names.
    org.apache.kerby.kerberos.kerb.request.KrbIdentity
    getIdentity(String principalName)
    Get the identity account specified by name.
    org.apache.kerby.kerberos.kerb.type.ad.AuthorizationData
    getIdentityAuthorizationData(org.apache.kerby.kerberos.kerb.request.KdcClientRequest kdcClientRequest, org.apache.kerby.kerberos.kerb.type.ticket.EncTicketPart encTicketPart)
    Get an identity's Authorization Data.
    Start a transaction.
    boolean
    Query to know if xtrans is supported or not.
    org.apache.kerby.kerberos.kerb.request.KrbIdentity
    updateIdentity(org.apache.kerby.kerberos.kerb.request.KrbIdentity identity)
    Update an identity, and return the updated result.

    Methods inherited from class org.apache.kerby.config.Configured

    getConfig, setConfig

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • CacheableIdentityService

      public CacheableIdentityService(org.apache.kerby.config.Config config, IdentityService underlying)
  • Method Details

    • supportBatchTrans

      public boolean supportBatchTrans()
      Query to know if xtrans is supported or not.
      Specified by:
      supportBatchTrans in interface IdentityService
      Returns:
      true if supported, false otherwise
    • startBatchTrans

      public BatchTrans startBatchTrans() throws org.apache.kerby.kerberos.kerb.KrbException
      Start a transaction.
      Specified by:
      startBatchTrans in interface IdentityService
      Returns:
      xtrans The batch trans
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • getIdentities

      public Iterable<String> getIdentities() throws org.apache.kerby.kerberos.kerb.KrbException
      Get all of the identity principal names. Note it's ordered by principal name.
      Specified by:
      getIdentities in interface IdentityService
      Returns:
      principal names
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • getIdentity

      public org.apache.kerby.kerberos.kerb.request.KrbIdentity getIdentity(String principalName) throws org.apache.kerby.kerberos.kerb.KrbException
      Get the identity account specified by name.
      Specified by:
      getIdentity in interface IdentityService
      Parameters:
      principalName - The principal name
      Returns:
      identity
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • addIdentity

      public org.apache.kerby.kerberos.kerb.request.KrbIdentity addIdentity(org.apache.kerby.kerberos.kerb.request.KrbIdentity identity) throws org.apache.kerby.kerberos.kerb.KrbException
      Add an identity, and return the newly created result.
      Specified by:
      addIdentity in interface IdentityService
      Parameters:
      identity - The identity
      Returns:
      identity
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • updateIdentity

      public org.apache.kerby.kerberos.kerb.request.KrbIdentity updateIdentity(org.apache.kerby.kerberos.kerb.request.KrbIdentity identity) throws org.apache.kerby.kerberos.kerb.KrbException
      Update an identity, and return the updated result.
      Specified by:
      updateIdentity in interface IdentityService
      Parameters:
      identity - The identity
      Returns:
      identity
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • deleteIdentity

      public void deleteIdentity(String principalName) throws org.apache.kerby.kerberos.kerb.KrbException
      Delete the identity specified by principal name
      Specified by:
      deleteIdentity in interface IdentityService
      Parameters:
      principalName - The principal name
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • getIdentityAuthorizationData

      public org.apache.kerby.kerberos.kerb.type.ad.AuthorizationData getIdentityAuthorizationData(org.apache.kerby.kerberos.kerb.request.KdcClientRequest kdcClientRequest, org.apache.kerby.kerberos.kerb.type.ticket.EncTicketPart encTicketPart) throws org.apache.kerby.kerberos.kerb.KrbException
      Get an identity's Authorization Data.
      Specified by:
      getIdentityAuthorizationData in interface IdentityService
      Parameters:
      kdcClientRequest - The KdcClientRequest
      encTicketPart - The EncTicketPart being built for the KrbIdentity
      Returns:
      The Authorization Data
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e