You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by pr...@apache.org on 2014/03/21 20:14:25 UTC
svn commit: r1580023 -
/hive/branches/branch-0.13/service/src/java/org/apache/hive/service/cli/thrift/ThriftCLIService.java
Author: prasadm
Date: Fri Mar 21 19:14:25 2014
New Revision: 1580023
URL: http://svn.apache.org/r1580023
Log:
HIVE-6625: HiveServer2 running in http mode should support trusted proxy access (Vaibhav Gumashta via Prasad Mujumdar)
Modified:
hive/branches/branch-0.13/service/src/java/org/apache/hive/service/cli/thrift/ThriftCLIService.java
Modified: hive/branches/branch-0.13/service/src/java/org/apache/hive/service/cli/thrift/ThriftCLIService.java
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.13/service/src/java/org/apache/hive/service/cli/thrift/ThriftCLIService.java?rev=1580023&r1=1580022&r2=1580023&view=diff
==============================================================================
--- hive/branches/branch-0.13/service/src/java/org/apache/hive/service/cli/thrift/ThriftCLIService.java (original)
+++ hive/branches/branch-0.13/service/src/java/org/apache/hive/service/cli/thrift/ThriftCLIService.java Fri Mar 21 19:14:25 2014
@@ -42,6 +42,7 @@ import org.apache.hive.service.cli.Opera
import org.apache.hive.service.cli.RowSet;
import org.apache.hive.service.cli.SessionHandle;
import org.apache.hive.service.cli.TableSchema;
+import org.apache.hive.service.cli.session.SessionManager;
import org.apache.thrift.TException;
import org.apache.thrift.server.TServer;
@@ -208,11 +209,19 @@ public abstract class ThriftCLIService e
private String getUserName(TOpenSessionReq req) throws HiveSQLException {
String userName = null;
+ // Kerberos
if (hiveAuthFactory != null) {
- userName = hiveAuthFactory.getRemoteUser(); // kerberos
+ userName = hiveAuthFactory.getRemoteUser();
}
+ // Except kerberos, NOSASL
if (userName == null) {
- userName = TSetIpAddressProcessor.getUserName(); // except kerberos, nosasl
+ userName = TSetIpAddressProcessor.getUserName();
+ }
+ // Http transport mode.
+ // We set the thread local username, in ThriftHttpServlet.
+ if (cliService.getHiveConf().getVar(
+ ConfVars.HIVE_SERVER2_TRANSPORT_MODE).equalsIgnoreCase("http")) {
+ userName = SessionManager.getUserName();
}
if (userName == null) {
userName = req.getUsername();