Java 类org.apache.hadoop.security.authentication.util.RandomSignerSecretProvider 实例源码

项目:hadoop-2.6.0-cdh5.4.3    文件:AuthenticationFilter.java   
@SuppressWarnings("unchecked")
private Class<? extends SignerSecretProvider> getProviderClass(Properties config)
        throws ServletException {
  String providerClassName;
  String signerSecretProviderName
          = config.getProperty(SIGNER_SECRET_PROVIDER, null);
  // fallback to old behavior
  if (signerSecretProviderName == null) {
    String signatureSecret = config.getProperty(SIGNATURE_SECRET, null);
    if (signatureSecret != null) {
      providerClassName = StringSignerSecretProvider.class.getName();
    } else {
      providerClassName = RandomSignerSecretProvider.class.getName();
      randomSecret = true;
    }
  } else {
    if ("random".equals(signerSecretProviderName)) {
      providerClassName = RandomSignerSecretProvider.class.getName();
      randomSecret = true;
    } else if ("string".equals(signerSecretProviderName)) {
      providerClassName = StringSignerSecretProvider.class.getName();
    } else if ("zookeeper".equals(signerSecretProviderName)) {
      providerClassName = ZKSignerSecretProvider.class.getName();
    } else {
      providerClassName = signerSecretProviderName;
      customSecretProvider = true;
    }
  }
  try {
    return (Class<? extends SignerSecretProvider>) Thread.currentThread().
            getContextClassLoader().loadClass(providerClassName);
  } catch (ClassNotFoundException ex) {
    throw new ServletException(ex);
  }
}