src/share/classes/sun/net/www/protocol/http/NTLMAuthenticationProxy.java

Print this page




  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  22  * CA 95054 USA or visit www.sun.com if you need additional information or
  23  * have any questions.
  24  */
  25 package sun.net.www.protocol.http;
  26 
  27 import java.net.URL;
  28 import java.net.PasswordAuthentication;
  29 import java.lang.reflect.Constructor;
  30 import java.lang.reflect.Method;
  31 import sun.util.logging.PlatformLogger;
  32 
  33 /**
  34  * Proxy class for loading NTLMAuthentication, so as to remove static
  35  * dependancy.
  36  */
  37 class NTLMAuthenticationProxy {
  38     private static Method supportsTA;
  39     private static final String clazzStr = "sun.net.www.protocol.http.NTLMAuthentication";
  40     private static final String supportsTAStr = "supportsTransparentAuth";
  41 
  42     static final NTLMAuthenticationProxy proxy = tryLoadNTLMAuthentication();
  43     static final boolean supported = proxy != null ? true : false;
  44     static final boolean supportsTransparentAuth = supported ? supportsTransparentAuth(supportsTA) : false;
  45 
  46     private final Constructor<? extends AuthenticationInfo> threeArgCtr;
  47     private final Constructor<? extends AuthenticationInfo> fiveArgCtr;
  48 
  49     private NTLMAuthenticationProxy(Constructor<? extends AuthenticationInfo> threeArgCtr,
  50                                     Constructor<? extends AuthenticationInfo> fiveArgCtr) {
  51         this.threeArgCtr = threeArgCtr;
  52         this.fiveArgCtr = fiveArgCtr;
  53     }
  54 
  55 
  56     AuthenticationInfo create(boolean isProxy,
  57                               URL url,
  58                               PasswordAuthentication pw) {
  59         try {




  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  22  * CA 95054 USA or visit www.sun.com if you need additional information or
  23  * have any questions.
  24  */
  25 package sun.net.www.protocol.http;
  26 
  27 import java.net.URL;
  28 import java.net.PasswordAuthentication;
  29 import java.lang.reflect.Constructor;
  30 import java.lang.reflect.Method;
  31 import sun.util.logging.PlatformLogger;
  32 
  33 /**
  34  * Proxy class for loading NTLMAuthentication, so as to remove static
  35  * dependancy.
  36  */
  37 class NTLMAuthenticationProxy {
  38     private static Method supportsTA;
  39     private static final String clazzStr = "sun.net.www.protocol.http.ntlm.NTLMAuthentication";
  40     private static final String supportsTAStr = "supportsTransparentAuth";
  41 
  42     static final NTLMAuthenticationProxy proxy = tryLoadNTLMAuthentication();
  43     static final boolean supported = proxy != null ? true : false;
  44     static final boolean supportsTransparentAuth = supported ? supportsTransparentAuth(supportsTA) : false;
  45 
  46     private final Constructor<? extends AuthenticationInfo> threeArgCtr;
  47     private final Constructor<? extends AuthenticationInfo> fiveArgCtr;
  48 
  49     private NTLMAuthenticationProxy(Constructor<? extends AuthenticationInfo> threeArgCtr,
  50                                     Constructor<? extends AuthenticationInfo> fiveArgCtr) {
  51         this.threeArgCtr = threeArgCtr;
  52         this.fiveArgCtr = fiveArgCtr;
  53     }
  54 
  55 
  56     AuthenticationInfo create(boolean isProxy,
  57                               URL url,
  58                               PasswordAuthentication pw) {
  59         try {