org.apache.hadoop.security.authentication.util.KerberosName类的使用及代码示例

x33g5p2x  于2022-01-23 转载在 其他  
字(8.7k)|赞(0)|评价(0)|浏览(252)

本文整理了Java中org.apache.hadoop.security.authentication.util.KerberosName类的一些代码示例,展示了KerberosName类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。KerberosName类的具体详情如下:
包路径:org.apache.hadoop.security.authentication.util.KerberosName
类名称:KerberosName

KerberosName介绍

[英]This class implements parsing and handling of Kerberos principal names. In particular, it splits them apart and translates them down into local operating system names.
[中]此类实现Kerberos主体名称的解析和处理。特别是,它将它们分开,并将它们转换为本地操作系统名称。

代码示例

代码示例来源:origin: org.apache.hadoop/hadoop-common

/**
 * Verify whether auth_to_local rules transform a principal name
 * <p>
 * Having a local user name "bar@foo.com" may be harmless, so it is noted at
 * info. However if what was intended is a transformation to "bar"
 * it can be difficult to debug, hence this check.
 */
protected void validateShortName() {
 failif(principal == null, CAT_KERBEROS, "No principal defined");
 try {
  KerberosName kn = new KerberosName(principal);
  String result = kn.getShortName();
  if (nonSimplePattern.matcher(result).find()) {
   warn(CAT_KERBEROS, principal + " short name: " + result +
       " still contains @ or /");
  }
 } catch (IOException e) {
  throw new KerberosDiagsFailure(CAT_KERBEROS, e,
      "Failed to get short name for " + principal, e);
 } catch (IllegalArgumentException e) {
  error(CAT_KERBEROS, "KerberosName(" + principal + ") failed: %s\n%s",
      e, StringUtils.stringifyException(e));
 }
}

代码示例来源:origin: apache/incubator-druid

KerberosName.setRules(nameRules);

代码示例来源:origin: org.apache.hadoop/hadoop-common

"Failed to specify server's Kerberos principal name");
KerberosName name = new KerberosName(confPrincipal);
if (name.getHostName() == null) {
 throw new IllegalArgumentException(
   "Kerberos principal name does NOT have the expected hostname part: "

代码示例来源:origin: hopshadoop/hops

@Test(timeout=60000)
public void testNameRules() throws Exception {
 KerberosName kn = new KerberosName(KerberosTestUtils.getServerPrincipal());
 Assert.assertEquals(KerberosTestUtils.getRealm(), kn.getRealm());
 //destroy handler created in setUp()
 handler.destroy();
 KerberosName.setRules("RULE:[1:$1@$0](.*@FOO)s/@.*//\nDEFAULT");
 
 handler = getNewAuthenticationHandler();
 Properties props = getDefaultProperties();
 props.setProperty(KerberosAuthenticationHandler.NAME_RULES, "RULE:[1:$1@$0](.*@BAR)s/@.*//\nDEFAULT");
 try {
  handler.init(props);
 } catch (Exception ex) {
 }
 kn = new KerberosName("bar@BAR");
 Assert.assertEquals("bar", kn.getShortName());
 kn = new KerberosName("bar@FOO");
 Assert.assertEquals("bar@FOO", kn.getShortName());
}

代码示例来源:origin: hopshadoop/hops

KerberosName.setRules(nameRules);
KerberosName kerbName = new KerberosName(spnegoPrincipal);
if (kerbName.getHostName() != null
  && kerbName.getServiceName() != null
  && kerbName.getServiceName().equals("HTTP")) {
 boolean added = serverPrincipalMap.put(kerbName.getHostName(),
   spnegoPrincipal);
 LOG.info("Map server: {} to principal: [{}], added = {}",
   kerbName.getHostName(), spnegoPrincipal, added);
} else {
 LOG.warn("HTTP principal: [{}] is invalid for SPNEGO!",

代码示例来源:origin: hopshadoop/hops

@Test
public void testParsing() throws Exception {
 final String principalNameFull = "HTTP/abc.com@EXAMPLE.COM";
 final String principalNameWoRealm = "HTTP/abc.com";
 final String principalNameWoHost = "HTTP@EXAMPLE.COM";
 final KerberosName kerbNameFull = new KerberosName(principalNameFull);
 Assert.assertEquals("HTTP", kerbNameFull.getServiceName());
 Assert.assertEquals("abc.com", kerbNameFull.getHostName());
 Assert.assertEquals("EXAMPLE.COM", kerbNameFull.getRealm());
 final KerberosName kerbNamewoRealm = new KerberosName(principalNameWoRealm);
 Assert.assertEquals("HTTP", kerbNamewoRealm.getServiceName());
 Assert.assertEquals("abc.com", kerbNamewoRealm.getHostName());
 Assert.assertEquals(null, kerbNamewoRealm.getRealm());
 final KerberosName kerbNameWoHost = new KerberosName(principalNameWoHost);
 Assert.assertEquals("HTTP", kerbNameWoHost.getServiceName());
 Assert.assertEquals(null, kerbNameWoHost.getHostName());
 Assert.assertEquals("EXAMPLE.COM", kerbNameWoHost.getRealm());
}

代码示例来源:origin: apache/hive

public KerberosNameShim(String name) {
 kerberosName = new KerberosName(name);
}

代码示例来源:origin: apache/sentry

if (KerberosName.hasRulesBeenSet()) {
 try {
  KerberosName krbName = new KerberosName(principal);
  principalShortName = krbName.getShortName();

代码示例来源:origin: apache/accumulo

krbName = new KerberosName(serverPrincipal);
clientConf.setProperty(
  org.apache.accumulo.core.client.ClientConfiguration.ClientProperty.KERBEROS_SERVER_PRIMARY,
  krbName.getServiceName());

代码示例来源:origin: ch.cern.hadoop/hadoop-common

@Test (timeout = 30000)
public void testEnsureInitWithRules() throws IOException {
 String rules = "RULE:[1:RULE1]";
 // trigger implicit init, rules should init
 UserGroupInformation.reset();
 assertFalse(KerberosName.hasRulesBeenSet());
 UserGroupInformation.createUserForTesting("someone", new String[0]);
 assertTrue(KerberosName.hasRulesBeenSet());
 
 // set a rule, trigger implicit init, rule should not change 
 UserGroupInformation.reset();
 KerberosName.setRules(rules);
 assertTrue(KerberosName.hasRulesBeenSet());
 assertEquals(rules, KerberosName.getRules());
 UserGroupInformation.createUserForTesting("someone", new String[0]);
 assertEquals(rules, KerberosName.getRules());
}

代码示例来源:origin: apache/hadoop-common

@Before
public void setUp() throws Exception {
 System.setProperty("java.security.krb5.realm", KerberosTestUtils.getRealm());
 System.setProperty("java.security.krb5.kdc", "localhost:88");
 String rules =
  "RULE:[1:$1@$0](.*@YAHOO\\.COM)s/@.*//\n" +
  "RULE:[2:$1](johndoe)s/^.*$/guest/\n" +
  "RULE:[2:$1;$2](^.*;admin$)s/;admin$//\n" +
  "RULE:[2:$2](root)\n" +
  "DEFAULT";
 KerberosName.setRules(rules);
 KerberosName.printRules();
}

代码示例来源:origin: apache/hive

@Override
 public String getShortName() throws IOException {
  return kerberosName.getShortName();
 }
}

代码示例来源:origin: apache/hive

@Override
public String getHostName() {
 return kerberosName.getHostName();
}

代码示例来源:origin: org.apache.hadoop/hadoop-auth

KerberosName.setRules(nameRules);
KerberosName.setRuleMechanism(ruleMechanism);

代码示例来源:origin: apache/hive

@Override
public String getServiceName() {
 return kerberosName.getServiceName();
}

代码示例来源:origin: apache/hive

@Override
public String getRealm() {
 return kerberosName.getRealm();
}

代码示例来源:origin: apache/hive

@Override
public String getDefaultRealm() {
 return kerberosName.getDefaultRealm();
}

代码示例来源:origin: io.hops/hadoop-auth

@Test(timeout=60000)
public void testNameRules() throws Exception {
 KerberosName kn = new KerberosName(KerberosTestUtils.getServerPrincipal());
 Assert.assertEquals(KerberosTestUtils.getRealm(), kn.getRealm());
 //destroy handler created in setUp()
 handler.destroy();
 KerberosName.setRules("RULE:[1:$1@$0](.*@FOO)s/@.*//\nDEFAULT");
 
 handler = getNewAuthenticationHandler();
 Properties props = getDefaultProperties();
 props.setProperty(KerberosAuthenticationHandler.NAME_RULES, "RULE:[1:$1@$0](.*@BAR)s/@.*//\nDEFAULT");
 try {
  handler.init(props);
 } catch (Exception ex) {
 }
 kn = new KerberosName("bar@BAR");
 Assert.assertEquals("bar", kn.getShortName());
 kn = new KerberosName("bar@FOO");
 Assert.assertEquals("bar@FOO", kn.getShortName());
}

代码示例来源:origin: io.hops/hadoop-auth

KerberosName.setRules(nameRules);
KerberosName kerbName = new KerberosName(spnegoPrincipal);
if (kerbName.getHostName() != null
  && kerbName.getServiceName() != null
  && kerbName.getServiceName().equals("HTTP")) {
 boolean added = serverPrincipalMap.put(kerbName.getHostName(),
   spnegoPrincipal);
 LOG.info("Map server: {} to principal: [{}], added = {}",
   kerbName.getHostName(), spnegoPrincipal, added);
} else {
 LOG.warn("HTTP principal: [{}] is invalid for SPNEGO!",

代码示例来源:origin: io.hops/hadoop-auth

@Test
public void testParsing() throws Exception {
 final String principalNameFull = "HTTP/abc.com@EXAMPLE.COM";
 final String principalNameWoRealm = "HTTP/abc.com";
 final String principalNameWoHost = "HTTP@EXAMPLE.COM";
 final KerberosName kerbNameFull = new KerberosName(principalNameFull);
 Assert.assertEquals("HTTP", kerbNameFull.getServiceName());
 Assert.assertEquals("abc.com", kerbNameFull.getHostName());
 Assert.assertEquals("EXAMPLE.COM", kerbNameFull.getRealm());
 final KerberosName kerbNamewoRealm = new KerberosName(principalNameWoRealm);
 Assert.assertEquals("HTTP", kerbNamewoRealm.getServiceName());
 Assert.assertEquals("abc.com", kerbNamewoRealm.getHostName());
 Assert.assertEquals(null, kerbNamewoRealm.getRealm());
 final KerberosName kerbNameWoHost = new KerberosName(principalNameWoHost);
 Assert.assertEquals("HTTP", kerbNameWoHost.getServiceName());
 Assert.assertEquals(null, kerbNameWoHost.getHostName());
 Assert.assertEquals("EXAMPLE.COM", kerbNameWoHost.getRealm());
}

相关文章