diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/rest/RESTServer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/rest/RESTServer.java index 231ba2c7e19..f0e5d9c148a 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/rest/RESTServer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/rest/RESTServer.java @@ -101,16 +101,13 @@ public class RESTServer implements Constants { String principalConfig = conf.get(REST_KERBEROS_PRINCIPAL); Preconditions.checkArgument(principalConfig != null && !principalConfig.isEmpty(), REST_KERBEROS_PRINCIPAL + " should be set if security is enabled"); - String principalName = SecurityUtil.getServerPrincipal(principalConfig, machineName); - UserGroupInformation loginUser = - UserGroupInformation.loginUserFromKeytabAndReturnUGI( - principalName, keytabFilename); + User.login(conf, REST_KEYTAB_FILE, REST_KERBEROS_PRINCIPAL, machineName); + realUser = User.getCurrent().getUGI(); if (conf.get(REST_AUTHENTICATION_TYPE) != null) { containerClass = RESTServletContainer.class; authFilter = new FilterHolder(); authFilter.setClassName(AuthFilter.class.getName()); authFilter.setName("AuthenticationFilter"); - realUser = loginUser; } }