Class BasicAuthenticator

java.lang.Object
com.sun.net.httpserver.Authenticator
com.sun.net.httpserver.BasicAuthenticator

public abstract class BasicAuthenticator
extends Authenticator
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.
  • Field Details

    • realm

      protected final String realm
  • Constructor Details

    • BasicAuthenticator

      public BasicAuthenticator​(String realm)
      Creates a BasicAuthenticator for the given HTTP realm. The Basic authentication credentials (username and password) are decoded using the platform's default character set.
      Parameters:
      realm - The HTTP Basic authentication realm
      Throws:
      NullPointerException - if realm is null
      IllegalArgumentException - if realm is an empty string
    • BasicAuthenticator

      public BasicAuthenticator​(String realm, Charset charset)
      Creates a BasicAuthenticator for the given HTTP realm and using the given Charset to decode the Basic authentication credentials (username and password).
      API Note:
      UTF-8 is the recommended charset because its usage is communicated to the client, and therefore more likely to be used also by the client.
      Parameters:
      realm - The HTTP Basic authentication realm
      charset - The Charset to decode incoming credentials from the client
      Throws:
      NullPointerException - if realm or charset are null
      IllegalArgumentException - if realm is an empty string
  • Method Details

    • getRealm

      public String getRealm()
      returns the realm this BasicAuthenticator was created with
      Returns:
      the authenticator's realm string.
    • checkCredentials

      public abstract boolean checkCredentials​(String username, String password)
      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 request
      password - the password from the request
      Returns:
      true if the credentials are valid, false otherwise.