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
ConstructorsConstructorDescriptionCacheableIdentityService(org.apache.kerby.config.Config config, IdentityService underlying) -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.kerby.kerberos.kerb.request.KrbIdentityaddIdentity(org.apache.kerby.kerberos.kerb.request.KrbIdentity identity) Add an identity, and return the newly created result.voiddeleteIdentity(String principalName) Delete the identity specified by principal nameGet all of the identity principal names.org.apache.kerby.kerberos.kerb.request.KrbIdentitygetIdentity(String principalName) Get the identity account specified by name.org.apache.kerby.kerberos.kerb.type.ad.AuthorizationDatagetIdentityAuthorizationData(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.booleanQuery to know if xtrans is supported or not.org.apache.kerby.kerberos.kerb.request.KrbIdentityupdateIdentity(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
-
Constructor Details
-
CacheableIdentityService
-
-
Method Details
-
supportBatchTrans
public boolean supportBatchTrans()Query to know if xtrans is supported or not.- Specified by:
supportBatchTransin interfaceIdentityService- Returns:
- true if supported, false otherwise
-
startBatchTrans
Start a transaction.- Specified by:
startBatchTransin interfaceIdentityService- Returns:
- xtrans The batch trans
- Throws:
org.apache.kerby.kerberos.kerb.KrbException- e
-
getIdentities
Get all of the identity principal names. Note it's ordered by principal name.- Specified by:
getIdentitiesin interfaceIdentityService- 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:
getIdentityin interfaceIdentityService- 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:
addIdentityin interfaceIdentityService- 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:
updateIdentityin interfaceIdentityService- Parameters:
identity- The identity- Returns:
- identity
- Throws:
org.apache.kerby.kerberos.kerb.KrbException- e
-
deleteIdentity
Delete the identity specified by principal name- Specified by:
deleteIdentityin interfaceIdentityService- 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:
getIdentityAuthorizationDatain interfaceIdentityService- Parameters:
kdcClientRequest- The KdcClientRequestencTicketPart- The EncTicketPart being built for the KrbIdentity- Returns:
- The Authorization Data
- Throws:
org.apache.kerby.kerberos.kerb.KrbException- e
-