Module jdk.httpserver

Class BasicAuthenticator

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

public abstract class BasicAuthenticator extends Authenticator
BasicAuthenticator提供了HTTP基本身份验证的实现。这是一个抽象类,必须扩展它以提供checkCredentials(String,String)的实现,该方法用于验证每个传入请求。
  • Field Details

    • realm

      protected final String realm
      HTTP基本身份验证领域。
  • Constructor Details

    • BasicAuthenticator

      public BasicAuthenticator(String realm)
      为给定的HTTP领域创建一个BasicAuthenticator。使用平台的默认字符集解码基本身份验证凭据(用户名和密码)。
      API注释:
      realm参数的值将嵌入在引号中。
      参数:
      realm - HTTP基本身份验证领域
      抛出:
      NullPointerException - 如果领域为null
      IllegalArgumentException - 如果领域是空字符串或未正确引用,如RFC 7230第3.2节中指定的。注意,用于引用的任何\字符在源代码中必须自身被引用。
    • BasicAuthenticator

      public BasicAuthenticator(String realm, Charset charset)
      为给定的HTTP领域创建一个BasicAuthenticator,并使用给定的Charset来解码基本身份验证凭据(用户名和密码)。
      API注释:
      UTF-8是推荐的字符集,因为其使用已传达给客户端,因此客户端更有可能也使用它。

      realm参数的值将嵌入在引号中。

      参数:
      realm - HTTP基本身份验证领域
      charset - 用于从客户端解码传入凭据的Charset
      抛出:
      NullPointerException - 如果领域或字符集为null
      IllegalArgumentException - 如果领域是空字符串或未正确引用,如RFC 7230第3.2节中指定的。注意,用于引用的任何\字符在源代码中必须自身被引用。
  • Method Details

    • getRealm

      public String getRealm()
      返回创建此BasicAuthenticator时使用的领域。
      返回:
      身份验证器的领域字符串
    • authenticate

      public Authenticator.Result authenticate(HttpExchange t)
      从类中复制的描述: Authenticator
      用于对每个传入请求进行身份验证。实现必须根据需要返回Authenticator.FailureAuthenticator.SuccessAuthenticator.Retry对象:
      • Failure表示身份验证已完成,但由于无效凭据而失败。
      • Success表示身份验证已成功,并且可以通过调用Authenticator.Success.getPrincipal()来检索代表用户的Principal对象。
      • Retry表示需要另一个HTTP exchange。需要发送回客户端的任何响应标头都设置在给定的HttpExchange中。必须在Retry对象中提供要返回的响应代码。可能会多次发生Retry
      指定者:
      authenticate 在类 Authenticator
      参数:
      t - 调用authenticate的HttpExchange
      返回:
      结果
    • checkCredentials

      public abstract boolean checkCredentials(String username, String password)
      用于在此身份验证器领域的上下文中验证给定名称和密码的每个传入请求。必须由此方法的实现来进行凭据的任何缓存。
      参数:
      username - 请求中的用户名
      password - 请求中的密码
      返回:
      如果凭据有效则返回true,否则返回false