Return-Path: X-Original-To: apmail-hbase-commits-archive@www.apache.org Delivered-To: apmail-hbase-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id F39D71191F for ; Tue, 23 Sep 2014 00:37:38 +0000 (UTC) Received: (qmail 56306 invoked by uid 500); 23 Sep 2014 00:37:38 -0000 Delivered-To: apmail-hbase-commits-archive@hbase.apache.org Received: (qmail 56213 invoked by uid 500); 23 Sep 2014 00:37:38 -0000 Mailing-List: contact commits-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hbase.apache.org Delivered-To: mailing list commits@hbase.apache.org Received: (qmail 56015 invoked by uid 99); 23 Sep 2014 00:37:38 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 23 Sep 2014 00:37:37 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 89ABB8A666D; Tue, 23 Sep 2014 00:37:37 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: apurtell@apache.org To: commits@hbase.apache.org Date: Tue, 23 Sep 2014 00:37:44 -0000 Message-Id: <48cc533c261f41b0be42d1a5be5e069f@git.apache.org> In-Reply-To: <450297e7ca2147cdae3fc56b651e7972@git.apache.org> References: <450297e7ca2147cdae3fc56b651e7972@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [8/9] git commit: HBASE-12045 REST proxy users configuration in hbase-site.xml is ignored (Aditya Kishore) HBASE-12045 REST proxy users configuration in hbase-site.xml is ignored (Aditya Kishore) Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/411991cf Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/411991cf Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/411991cf Branch: refs/heads/master Commit: 411991cf1dccda7d4ceed443327922e55a345cc1 Parents: 0153a35 Author: Andrew Purtell Authored: Mon Sep 22 17:37:19 2014 -0700 Committer: Andrew Purtell Committed: Mon Sep 22 17:37:19 2014 -0700 ---------------------------------------------------------------------- .../main/java/org/apache/hadoop/hbase/rest/RESTServlet.java | 9 +++++++++ .../org/apache/hadoop/hbase/rest/RESTServletContainer.java | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/411991cf/hbase-server/src/main/java/org/apache/hadoop/hbase/rest/RESTServlet.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/rest/RESTServlet.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/rest/RESTServlet.java index 5e7038d..5439cde 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/rest/RESTServlet.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/rest/RESTServlet.java @@ -28,6 +28,7 @@ import org.apache.hadoop.hbase.filter.ParseFilter; import org.apache.hadoop.hbase.security.UserProvider; import org.apache.hadoop.hbase.util.ConnectionCache; import org.apache.hadoop.security.UserGroupInformation; +import org.apache.hadoop.security.authorize.ProxyUsers; import org.apache.log4j.Logger; /** @@ -44,6 +45,7 @@ public class RESTServlet implements Constants { static final String CLEANUP_INTERVAL = "hbase.rest.connection.cleanup-interval"; static final String MAX_IDLETIME = "hbase.rest.connection.max-idletime"; + static final String HBASE_REST_SUPPORT_PROXYUSER = "hbase.rest.support.proxyuser"; UserGroupInformation getRealUser() { return realUser; @@ -91,6 +93,9 @@ public class RESTServlet implements Constants { int maxIdleTime = conf.getInt(MAX_IDLETIME, 10 * 60 * 1000); connectionCache = new ConnectionCache( conf, userProvider, cleanInterval, maxIdleTime); + if (supportsProxyuser()) { + ProxyUsers.refreshSuperUserGroupsConfiguration(conf); + } } HBaseAdmin getAdmin() throws IOException { @@ -125,6 +130,10 @@ public class RESTServlet implements Constants { connectionCache.setEffectiveUser(effectiveUser); } + boolean supportsProxyuser() { + return conf.getBoolean(HBASE_REST_SUPPORT_PROXYUSER, false); + } + private void registerCustomFilter(Configuration conf) { String[] filterList = conf.getStrings(Constants.CUSTOM_FILTERS); if (filterList != null) { http://git-wip-us.apache.org/repos/asf/hbase/blob/411991cf/hbase-server/src/main/java/org/apache/hadoop/hbase/rest/RESTServletContainer.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/rest/RESTServletContainer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/rest/RESTServletContainer.java index c2f4e59..2c859bd 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/rest/RESTServletContainer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/rest/RESTServletContainer.java @@ -53,7 +53,7 @@ public class RESTServletContainer extends ServletContainer { RESTServlet servlet = RESTServlet.getInstance(); if (doAsUserFromQuery != null) { Configuration conf = servlet.getConfiguration(); - if (!conf.getBoolean("hbase.rest.support.proxyuser", false)) { + if (!servlet.supportsProxyuser()) { throw new ServletException("Support for proxyuser is not configured"); } UserGroupInformation ugi = servlet.getRealUser();