authenticationconfig.java

来自「JAVA Servlet2.3外文书籍源码」· Java 代码 · 共 65 行

JAVA
65
字号
package persistence.servlet;

import persistence.*;
import java.io.InputStream;
import javax.servlet.*;
import org.w3c.dom.*;
import org.xml.sax.InputSource;
import org.apache.xerces.parsers.DOMParser;
import java.util.*;

public class AuthenticationConfig extends Config {

  /** Element names */
  private static final String AUTHENTICATOR = "Authenticator";
  private static final String AUTHENTICATION_EXCPTION_URI = "AuthenticationExceptionURI";
  private static final String UNKNOWN_ERROR_URI = "UnknownErrorURI";
  private static final String AUTHENTICATED_URI = "AuthenticatedURI";

  // Instance variables.
  private Authenticator auth;
  private String authenticationExceptionURI;
  private String authenticatedURI;
  private String unknownErrorURI;

  public void init(ServletContext sctx, String xmlFile) throws Exception {
    System.err.println("init() called");
    super.init(sctx, xmlFile);
    // Read URI properties.
    authenticationExceptionURI = getElementText(root, AUTHENTICATION_EXCPTION_URI);
    authenticatedURI = getElementText(root, AUTHENTICATED_URI);
    unknownErrorURI = getElementText(root, UNKNOWN_ERROR_URI);

    // Construct a new Authenticator instance.
    String authname = getElementText(root, AUTHENTICATOR);

    System.err.println(authenticationExceptionURI);
    System.err.println(authenticatedURI);
    System.err.println(unknownErrorURI);
    System.err.println(authname);

    auth = (Authenticator) Class.forName(authname).newInstance();
    auth.init(sctx);

    // Clean up XML resources.
    cleanup();
  }

  public Authenticator getAuthenticator() {
    System.out.println("getAuthenticator() called");
    System.out.println(auth.toString());
    return auth;
  }

  public String getAuthenticationExceptionURI() {
    return authenticationExceptionURI;
  }

  public String getAuthenticatedURI() {
    return authenticatedURI;
  }

  public String getUnknownErrorURI() {
    return unknownErrorURI;
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?