Class SPNEGOAuthenticator
java.lang.Object
org.eclipse.jetty.security.authentication.LoginAuthenticator
org.eclipse.jetty.security.authentication.SPNEGOAuthenticator
- All Implemented Interfaces:
Authenticator
A LoginAuthenticator that uses SPNEGO and the GSS API to authenticate requests.
A successful authentication from a client is cached for a configurable
duration using the HTTP session; this avoids
that the client is asked to authenticate for every request.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class LoginAuthenticator
LoginAuthenticator.LoggedOutAuthentication, LoginAuthenticator.UserAuthenticationSent, LoginAuthenticator.UserAuthenticationSucceededNested classes/interfaces inherited from interface Authenticator
Authenticator.Configuration, Authenticator.Factory, Authenticator.NoOp -
Field Summary
Fields inherited from class LoginAuthenticator
_identityService, _loginServiceFields inherited from interface Authenticator
BASIC_AUTH, CERT_AUTH, CERT_AUTH2, DIGEST_AUTH, FORM_AUTH, NEGOTIATE_AUTH, OPENID_AUTH, SPNEGO_AUTH -
Constructor Summary
ConstructorsConstructorDescriptionSPNEGOAuthenticator(String type) Allow for a custom name value to be set for instances where SPNEGO may not be appropriate -
Method Summary
Modifier and TypeMethodDescriptionGet the authentication duration.Only renew the session id if the user has been fully authenticated, don't renew the session for any of the intermediate request/response handshakes.voidsetAuthenticationDuration(Duration authenticationDuration) Sets the duration of the authentication.validateRequest(Request req, Response res, Callback callback) Validate a requestMethods inherited from class LoginAuthenticator
getLoginService, logout, setConfiguration, updateSessionMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Authenticator
getConstraintAuthentication, prepareRequest
-
Constructor Details
-
SPNEGOAuthenticator
public SPNEGOAuthenticator() -
SPNEGOAuthenticator
Allow for a custom name value to be set for instances where SPNEGO may not be appropriate- Parameters:
type- the authenticator name
-
-
Method Details
-
getAuthenticationType
- Returns:
- The name of the authentication type
-
getAuthenticationDuration
Get the authentication duration.- Returns:
- the authentication duration
-
setAuthenticationDuration
Sets the duration of the authentication.
A negative duration means that the authentication is only valid for the current request.
A zero duration means that the authentication is valid forever.
A positive value means that the authentication is valid for the specified duration.
- Parameters:
authenticationDuration- the authentication duration
-
login
Only renew the session id if the user has been fully authenticated, don't renew the session for any of the intermediate request/response handshakes.- Overrides:
loginin classLoginAuthenticator- Parameters:
username- the username of the client to be authenticatedpassword- the user's credentialrequest- the inbound request that needs authentication
-
validateRequest
public AuthenticationState validateRequest(Request req, Response res, Callback callback) throws ServerAuthException Description copied from interface:AuthenticatorValidate a request- Parameters:
req- The requestres- The responsecallback- the callback to use for writing a response- Returns:
- An Authentication. If Authentication is successful, this will be a
AuthenticationState.Succeeded. If a response has been sent by the Authenticator (which can be done for both successful and unsuccessful authentications), then the result will implementAuthenticationState.ResponseSent. - Throws:
ServerAuthException- if unable to validate request
-