java.lang.Object
com.sun.net.httpserver.Authenticator
com.sun.net.httpserver.BasicAuthenticator
BasicAuthenticator provides an implementation of HTTP Basic
authentication. It is an abstract class and must be extended
to provide an implementation of
checkCredentials(String,String)
which is called to verify each incoming request.-
Nested Class Summary
Nested classes/interfaces declared in class com.sun.net.httpserver.Authenticator
Authenticator.Failure, Authenticator.Result, Authenticator.Retry, Authenticator.Success -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionBasicAuthenticator(String realm) Creates aBasicAuthenticatorfor the given HTTP realm.BasicAuthenticator(String realm, Charset charset) Creates aBasicAuthenticatorfor the given HTTP realm and using the givenCharsetto decode the Basic authentication credentials (username and password). -
Method Summary
Modifier and TypeMethodDescriptionCalled to authenticate each incoming request.abstract booleancheckCredentials(String username, String password) Called for each incoming request to verify the given name and password in the context of this authenticator's realm.getRealm()Returns the realm thisBasicAuthenticatorwas created with.
-
Field Details
-
realm
The HTTP Basic authentication realm.
-
-
Constructor Details
-
BasicAuthenticator
Creates aBasicAuthenticatorfor the given HTTP realm. The Basic authentication credentials (username and password) are decoded using the platform'sdefault character set.- API Note:
- The value of the
realmparameter will be embedded in a quoted string. - Parameters:
realm- the HTTP Basic authentication realm- Throws:
NullPointerException- if realm isnullIllegalArgumentException- if realm is an empty string or is not correctly quoted, as specified in RFC 7230 section-3.2. Note, any\character used for quoting must itself be quoted in source code.
-
BasicAuthenticator
Creates aBasicAuthenticatorfor the given HTTP realm and using the givenCharsetto decode the Basic authentication credentials (username and password).- API Note:
UTF-8is the recommended charset because its usage is communicated to the client, and therefore more likely to be used also by the client.The value of the
realmparameter will be embedded in a quoted string.- Parameters:
realm- the HTTP Basic authentication realmcharset- theCharsetto decode incoming credentials from the client- Throws:
NullPointerException- if realm or charset arenullIllegalArgumentException- if realm is an empty string or is not correctly quoted, as specified in RFC 7230 section-3.2. Note, any\character used for quoting must itself be quoted in source code.
-
-
Method Details
-
getRealm
Returns the realm thisBasicAuthenticatorwas created with.- Returns:
- the authenticator's realm string
-
authenticate
Description copied from class:AuthenticatorCalled to authenticate each incoming request. The implementation must return aAuthenticator.Failure,Authenticator.SuccessorAuthenticator.Retryobject as appropriate:-
Failuremeans the authentication has completed, but has failed due to invalid credentials. -
Successmeans that the authentication has succeeded, and aPrincipalobject representing the user can be retrieved by callingAuthenticator.Success.getPrincipal(). -
Retrymeans that another HTTP exchange is required. Any response headers needing to be sent back to the client are set in the givenHttpExchange. The response code to be returned must be provided in theRetryobject.Retrymay occur multiple times.
- Specified by:
authenticatein classAuthenticator- Parameters:
t- theHttpExchangeupon which authenticate is called- Returns:
- the result
-
-
checkCredentials
Called for each incoming request to verify the given name and password in the context of this authenticator's realm. Any caching of credentials must be done by the implementation of this method.- Parameters:
username- the username from the requestpassword- the password from the request- Returns:
trueif the credentials are valid,falseotherwise
-