diff --git beeline/src/java/org/apache/hive/beeline/Commands.java beeline/src/java/org/apache/hive/beeline/Commands.java index 8f47323700..d05e93e117 100644 --- beeline/src/java/org/apache/hive/beeline/Commands.java +++ beeline/src/java/org/apache/hive/beeline/Commands.java @@ -1633,22 +1633,37 @@ public boolean connect(Properties props) throws IOException { if (auth != null) { props.setProperty(JdbcConnectionParams.AUTH_TYPE, auth); } + else { + auth = getHiveConf(false).get(HiveConf.ConfVars.HIVE_SERVER2_AUTHENTICATION.varname); + } } + beeLine.info("hive.server2.authentication=" + auth); beeLine.info("Connecting to " + url); - if (Utils.parsePropertyFromUrl(url, JdbcConnectionParams.AUTH_PRINCIPAL) == null) { - String urlForPrompt = url.substring(0, url.contains(";") ? url.indexOf(';') : url.length()); - if (username == null) { - username = beeLine.getConsoleReader().readLine("Enter username for " + urlForPrompt + ": "); + if (auth == null || HiveConf.ConfVars.HIVE_SERVER2_AUTHENTICATION.getDefaultValue().equals(auth)) { + if (username == null){ + username = "hive"; } - props.setProperty(JdbcConnectionParams.AUTH_USER, username); - if (password == null) { - password = beeLine.getConsoleReader().readLine("Enter password for " + urlForPrompt + ": ", - new Character('*')); + if (password == null){ + password = "DUMMY"; } - props.setProperty(JdbcConnectionParams.AUTH_PASSWD, password); } + else { + if (Utils.parsePropertyFromUrl(url, JdbcConnectionParams.AUTH_PRINCIPAL) == null) { + String urlForPrompt = url.substring(0, url.contains(";") ? url.indexOf(';') : url.length()); + if (username == null) { + username = beeLine.getConsoleReader().readLine("Enter username for " + urlForPrompt + ": "); + } + if (password == null) { + password = beeLine.getConsoleReader().readLine("Enter password for " + urlForPrompt + ": ", '*'); + } + } + } + + props.setProperty(JdbcConnectionParams.AUTH_USER, username); + props.setProperty(JdbcConnectionParams.AUTH_PASSWD, password); + try { beeLine.getDatabaseConnections().setConnection( new DatabaseConnection(beeLine, driver, url, props));