Class SunJaasKerberosTicketValidator
- java.lang.Object
-
- org.pac4j.core.util.InitializableObject
-
- org.pac4j.kerberos.credentials.authenticator.SunJaasKerberosTicketValidator
-
- All Implemented Interfaces:
KerberosTicketValidator
public class SunJaasKerberosTicketValidator extends InitializableObject implements KerberosTicketValidator
Implementation ofKerberosTicketValidatorwhich uses the SUN JAAS login module, which is included in the SUN JRE, it will not work with an IBM JRE. The whole configuration is done in this class, no additional JAAS configuration is needed.- Since:
- 2.1.0
originally from spring-kerberos project
- Author:
- Garry Boyce
-
-
Constructor Summary
Constructors Constructor Description SunJaasKerberosTicketValidator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidinternalInit()voidsetDebug(boolean debug)Enables the debug mode of the JAAS Kerberos login module.voidsetHoldOnToGSSContext(boolean holdOnToGSSContext)Determines whether to hold on to theGSS security contextor otherwisedisposeof it immediately (the default behaviour).voidsetKeyTabLocation(org.springframework.core.io.Resource keyTabLocation)The location of the keytab.voidsetServicePrincipal(String servicePrincipal)The service principal of the application.KerberosTicketValidationvalidateTicket(byte[] token)Validates a Kerberos/SPNEGO ticket.-
Methods inherited from class org.pac4j.core.util.InitializableObject
init, isInitialized
-
-
-
-
Method Detail
-
validateTicket
public KerberosTicketValidation validateTicket(byte[] token)
Description copied from interface:KerberosTicketValidatorValidates a Kerberos/SPNEGO ticket.- Specified by:
validateTicketin interfaceKerberosTicketValidator- Parameters:
token- Kerbeos/SPNEGO ticket- Returns:
- authenticated kerberos principal
-
internalInit
protected void internalInit()
- Specified by:
internalInitin classInitializableObject
-
setServicePrincipal
public void setServicePrincipal(String servicePrincipal)
The service principal of the application. For web apps this isHTTP/full-qualified-domain-name@DOMAIN. The keytab must contain the key for this principal.- Parameters:
servicePrincipal- service principal to use- See Also:
setKeyTabLocation(Resource)
-
setKeyTabLocation
public void setKeyTabLocation(org.springframework.core.io.Resource keyTabLocation)
The location of the keytab. You can use the normal Resource prefixes like
file:orclasspath:, but as the file is later on read by JAAS, we cannot guarantee thatclasspathworks in every environment, esp. not in Java EE application servers. You should usefile:there.This file also needs special protection, which is another reason to not include it in the classpath but rather use
file:/etc/http.keytabfor example.- Parameters:
keyTabLocation- The location where the keytab resides
-
setDebug
public void setDebug(boolean debug)
Enables the debug mode of the JAAS Kerberos login module.- Parameters:
debug- default is false
-
setHoldOnToGSSContext
public void setHoldOnToGSSContext(boolean holdOnToGSSContext)
Determines whether to hold on to theGSS security contextor otherwisedisposeof it immediately (the default behaviour).Holding on to the GSS context allows decrypt and encrypt operations for subsequent interactions with the principal.
- Parameters:
holdOnToGSSContext- true if should hold on to context
-
-