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 231ba2c..47aca00 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 @@ -102,15 +102,13 @@ public class RESTServer implements Constants { 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, keytabFilename, principalName, 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; } }