SecurityUtil { public static AuthenticationMethod getAuthenticationMethod(Configuration conf) { String value = conf.get(HADOOP_SECURITY_AUTHENTICATION, "simple"); try { return Enum.valueOf(AuthenticationMethod.class, StringUtils.toUpperCase(value)); } catch (IllegalArgumentException iae) { throw new IllegalArgumentException("Invalid attribute value for " + HADOOP_SECURITY_AUTHENTICATION + " of " + value); } } private  SecurityUtil(); @InterfaceAudience.Public @InterfaceStability.Evolving static void setConfiguration(Configuration conf); @InterfaceAudience.Private @VisibleForTesting static void setTokenServiceUseIp(boolean flag); @InterfaceAudience.Public @InterfaceStability.Evolving static String getServerPrincipal(String principalConfig,
      String hostname); @InterfaceAudience.Public @InterfaceStability.Evolving static String getServerPrincipal(String principalConfig,
      InetAddress addr); @InterfaceAudience.Public @InterfaceStability.Evolving static void login(final Configuration conf,
      final String keytabFileKey, final String userNameKey); @InterfaceAudience.Public @InterfaceStability.Evolving static void login(final Configuration conf,
      final String keytabFileKey, final String userNameKey, String hostname); static String buildDTServiceName(URI uri, int defPort); static String getHostFromPrincipal(String principalName); @InterfaceAudience.Private static void setSecurityInfoProviders(SecurityInfo... providers); static KerberosInfo getKerberosInfo(Class<?> protocol, Configuration conf); static TokenInfo getTokenInfo(Class<?> protocol, Configuration conf); static InetSocketAddress getTokenServiceAddr(Token<?> token); static void setTokenService(Token<?> token, InetSocketAddress addr); static Text buildTokenService(InetSocketAddress addr); static Text buildTokenService(URI uri); static T doAsLoginUserOrFatal(PrivilegedAction<T> action); static T doAsLoginUser(PrivilegedExceptionAction<T> action); static T doAsCurrentUser(PrivilegedExceptionAction<T> action); @InterfaceAudience.Private static InetAddress getByName(String hostname); static AuthenticationMethod getAuthenticationMethod(Configuration conf); static void setAuthenticationMethod(
      AuthenticationMethod authenticationMethod, Configuration conf); static boolean isPrivilegedPort(final int port); static List<ZKUtil.ZKAuthInfo> getZKAuthInfos(Configuration conf,
      String configKey); static final Logger LOG; static final String HOSTNAME_PATTERN; static final String FAILED_TO_GET_UGI_MSG_HEADER; }
@Test public void testGetAuthenticationMethod() { Configuration conf = new Configuration(); conf.unset(HADOOP_SECURITY_AUTHENTICATION); assertEquals(SIMPLE, SecurityUtil.getAuthenticationMethod(conf)); conf.set(HADOOP_SECURITY_AUTHENTICATION, "simple"); assertEquals(SIMPLE, SecurityUtil.getAuthenticationMethod(conf)); conf.set(HADOOP_SECURITY_AUTHENTICATION, "kerberos"); assertEquals(KERBEROS, SecurityUtil.getAuthenticationMethod(conf)); conf.set(HADOOP_SECURITY_AUTHENTICATION, "kaboom"); String error = null; try { SecurityUtil.getAuthenticationMethod(conf); } catch (Exception e) { error = e.toString(); } assertEquals("java.lang.IllegalArgumentException: " + "Invalid attribute value for " + HADOOP_SECURITY_AUTHENTICATION + " of kaboom", error); }