diff --git a/clients/cli/src/main/java/org/apache/gravitino/cli/CatalogCommandHandler.java b/clients/cli/src/main/java/org/apache/gravitino/cli/CatalogCommandHandler.java index edef9138e33..4e5a50fd379 100644 --- a/clients/cli/src/main/java/org/apache/gravitino/cli/CatalogCommandHandler.java +++ b/clients/cli/src/main/java/org/apache/gravitino/cli/CatalogCommandHandler.java @@ -64,7 +64,7 @@ public CatalogCommandHandler( @Override protected void handle() { String userName = line.getOptionValue(GravitinoOptions.LOGIN); - Command.setAuthenticationMode(getAuth(line), userName); + Command.setAuthenticationMode(context.auth(), userName); List missingEntities = Lists.newArrayList(); if (CommandActions.LIST.equals(command)) { diff --git a/clients/cli/src/main/java/org/apache/gravitino/cli/ColumnCommandHandler.java b/clients/cli/src/main/java/org/apache/gravitino/cli/ColumnCommandHandler.java index 01de9ca2a9d..76f2cfdc191 100644 --- a/clients/cli/src/main/java/org/apache/gravitino/cli/ColumnCommandHandler.java +++ b/clients/cli/src/main/java/org/apache/gravitino/cli/ColumnCommandHandler.java @@ -66,7 +66,7 @@ public ColumnCommandHandler( @Override protected void handle() { String userName = line.getOptionValue(GravitinoOptions.LOGIN); - Command.setAuthenticationMode(getAuth(line), userName); + Command.setAuthenticationMode(context.auth(), userName); List missingEntities = Lists.newArrayList(); if (catalog == null) missingEntities.add(CommandEntities.CATALOG); diff --git a/clients/cli/src/main/java/org/apache/gravitino/cli/CommandContext.java b/clients/cli/src/main/java/org/apache/gravitino/cli/CommandContext.java index 94543b19861..6a015243e59 100644 --- a/clients/cli/src/main/java/org/apache/gravitino/cli/CommandContext.java +++ b/clients/cli/src/main/java/org/apache/gravitino/cli/CommandContext.java @@ -33,11 +33,15 @@ public class CommandContext { private final CommandLine line; // TODO make it final private int outputLimit; + private final String auth; + private String ignoreEnv; private boolean ignoreSet = false; private String urlEnv; private boolean urlSet = false; + private String authEnv; + private boolean authSet = false; // Can add more "global" command flags here without any major changes e.g. a guiet flag /** @@ -54,11 +58,12 @@ public CommandContext(CommandLine line) { ? line.getOptionValue(GravitinoOptions.OUTPUT) : Command.OUTPUT_FORMAT_PLAIN; this.quiet = line.hasOption(GravitinoOptions.QUIET); + // TODO add limit option to CLI + this.outputLimit = -1; this.url = getUrl(); this.ignoreVersions = getIgnore(); - // TODO add limit option to CLI - this.outputLimit = -1; + this.auth = this.getAuth(); } /** @@ -107,6 +112,7 @@ public boolean quiet() { } /** + * Returns the output limit. * * @return The output limit. @@ -115,6 +121,14 @@ public int outputLimit() { return outputLimit; } + * Returns the authentication type. + * + * @return The authentication type. + */ + public String auth() { + return auth; + } + /** * Retrieves the Gravitino URL from the command line options or the GRAVITINO_URL environment * variable or the Gravitino config file. @@ -179,4 +193,34 @@ private boolean getIgnore() { return ignore; } + + private String getAuth() { + // If specified on the command line use that + if (line.hasOption(GravitinoOptions.SIMPLE)) { + return GravitinoOptions.SIMPLE; + } + + // Cache the Gravitino authentication type environment variable + if (authEnv == null && !authSet) { + authEnv = System.getenv("GRAVITINO_AUTH"); + authSet = true; + } + + // If set return the Gravitino authentication type environment variable + if (authEnv != null) { + return authEnv; + } + + // Check if the authentication type is specified in the configuration file + GravitinoConfig config = new GravitinoConfig(null); + if (config.fileExists()) { + config.read(); + String configAuthType = config.getGravitinoAuthType(); + if (configAuthType != null) { + return configAuthType; + } + } + + return null; + } } diff --git a/clients/cli/src/main/java/org/apache/gravitino/cli/CommandHandler.java b/clients/cli/src/main/java/org/apache/gravitino/cli/CommandHandler.java index 79462e81021..90f509bba5a 100644 --- a/clients/cli/src/main/java/org/apache/gravitino/cli/CommandHandler.java +++ b/clients/cli/src/main/java/org/apache/gravitino/cli/CommandHandler.java @@ -21,49 +21,9 @@ import com.google.common.base.Joiner; import java.util.List; -import org.apache.commons.cli.CommandLine; public abstract class CommandHandler { public static final Joiner COMMA_JOINER = Joiner.on(", ").skipNulls(); - private String authEnv; - private boolean authSet = false; - - /** - * Retrieves the Gravitino authentication from the command line options or the GRAVITINO_AUTH - * environment variable or the Gravitino config file. - * - * @param line The command line instance. - * @return The Gravitino authentication, or null if not found. - */ - public String getAuth(CommandLine line) { - // If specified on the command line use that - if (line.hasOption(GravitinoOptions.SIMPLE)) { - return GravitinoOptions.SIMPLE; - } - - // Cache the Gravitino authentication type environment variable - if (authEnv == null && !authSet) { - authEnv = System.getenv("GRAVITINO_AUTH"); - authSet = true; - } - - // If set return the Gravitino authentication type environment variable - if (authEnv != null) { - return authEnv; - } - - // Check if the authentication type is specified in the configuration file - GravitinoConfig config = new GravitinoConfig(null); - if (config.fileExists()) { - config.read(); - String configAuthType = config.getGravitinoAuthType(); - if (configAuthType != null) { - return configAuthType; - } - } - - return null; - } protected abstract void handle(); diff --git a/clients/cli/src/main/java/org/apache/gravitino/cli/FilesetCommandHandler.java b/clients/cli/src/main/java/org/apache/gravitino/cli/FilesetCommandHandler.java index 9eec933ddf5..bdcc809ac9c 100644 --- a/clients/cli/src/main/java/org/apache/gravitino/cli/FilesetCommandHandler.java +++ b/clients/cli/src/main/java/org/apache/gravitino/cli/FilesetCommandHandler.java @@ -66,7 +66,7 @@ public FilesetCommandHandler( @Override protected void handle() { String userName = line.getOptionValue(GravitinoOptions.LOGIN); - Command.setAuthenticationMode(getAuth(line), userName); + Command.setAuthenticationMode(context.auth(), userName); List missingEntities = Lists.newArrayList(); if (catalog == null) missingEntities.add(CommandEntities.CATALOG); diff --git a/clients/cli/src/main/java/org/apache/gravitino/cli/GroupCommandHandler.java b/clients/cli/src/main/java/org/apache/gravitino/cli/GroupCommandHandler.java index deaad3df3ef..c53aa0dd39b 100644 --- a/clients/cli/src/main/java/org/apache/gravitino/cli/GroupCommandHandler.java +++ b/clients/cli/src/main/java/org/apache/gravitino/cli/GroupCommandHandler.java @@ -58,7 +58,7 @@ public GroupCommandHandler( @Override protected void handle() { String userName = line.getOptionValue(GravitinoOptions.LOGIN); - Command.setAuthenticationMode(getAuth(line), userName); + Command.setAuthenticationMode(context.auth(), userName); if (CommandActions.LIST.equals(command)) { handleListCommand(); diff --git a/clients/cli/src/main/java/org/apache/gravitino/cli/MetalakeCommandHandler.java b/clients/cli/src/main/java/org/apache/gravitino/cli/MetalakeCommandHandler.java index 1fe32f3fea8..218f6e14588 100644 --- a/clients/cli/src/main/java/org/apache/gravitino/cli/MetalakeCommandHandler.java +++ b/clients/cli/src/main/java/org/apache/gravitino/cli/MetalakeCommandHandler.java @@ -56,7 +56,7 @@ public MetalakeCommandHandler( public void handle() { String userName = line.getOptionValue(GravitinoOptions.LOGIN); FullName name = new FullName(line); - Command.setAuthenticationMode(getAuth(line), userName); + Command.setAuthenticationMode(context.auth(), userName); if (CommandActions.LIST.equals(command)) { handleListCommand(); diff --git a/clients/cli/src/main/java/org/apache/gravitino/cli/ModelCommandHandler.java b/clients/cli/src/main/java/org/apache/gravitino/cli/ModelCommandHandler.java index 2a0dee0bf6f..9bab9355a66 100644 --- a/clients/cli/src/main/java/org/apache/gravitino/cli/ModelCommandHandler.java +++ b/clients/cli/src/main/java/org/apache/gravitino/cli/ModelCommandHandler.java @@ -65,7 +65,7 @@ public ModelCommandHandler( @Override protected void handle() { String userName = line.getOptionValue(GravitinoOptions.LOGIN); - Command.setAuthenticationMode(getAuth(line), userName); + Command.setAuthenticationMode(context.auth(), userName); List missingEntities = Lists.newArrayList(); if (catalog == null) missingEntities.add(CommandEntities.CATALOG); diff --git a/clients/cli/src/main/java/org/apache/gravitino/cli/OwnerCommandHandler.java b/clients/cli/src/main/java/org/apache/gravitino/cli/OwnerCommandHandler.java index cef7a9822f6..fe78d0926ef 100644 --- a/clients/cli/src/main/java/org/apache/gravitino/cli/OwnerCommandHandler.java +++ b/clients/cli/src/main/java/org/apache/gravitino/cli/OwnerCommandHandler.java @@ -66,7 +66,7 @@ public OwnerCommandHandler( @Override protected void handle() { String userName = line.getOptionValue(GravitinoOptions.LOGIN); - Command.setAuthenticationMode(getAuth(line), userName); + Command.setAuthenticationMode(context.auth(), userName); if (entityName == null && !CommandEntities.METALAKE.equals(entity)) { System.err.println(ErrorMessages.MISSING_NAME); diff --git a/clients/cli/src/main/java/org/apache/gravitino/cli/RoleCommandHandler.java b/clients/cli/src/main/java/org/apache/gravitino/cli/RoleCommandHandler.java index a02d7f0ca86..f9e654cc432 100644 --- a/clients/cli/src/main/java/org/apache/gravitino/cli/RoleCommandHandler.java +++ b/clients/cli/src/main/java/org/apache/gravitino/cli/RoleCommandHandler.java @@ -46,9 +46,8 @@ public RoleCommandHandler( /** Handles the command execution logic based on the provided command. */ public void handle() { - String auth = getAuth(line); String userName = line.getOptionValue(GravitinoOptions.LOGIN); - Command.setAuthenticationMode(auth, userName); + Command.setAuthenticationMode(context.auth(), userName); metalake = new FullName(line).getMetalakeName(); diff --git a/clients/cli/src/main/java/org/apache/gravitino/cli/SchemaCommandHandler.java b/clients/cli/src/main/java/org/apache/gravitino/cli/SchemaCommandHandler.java index 30c051ccf23..149746c0ecf 100644 --- a/clients/cli/src/main/java/org/apache/gravitino/cli/SchemaCommandHandler.java +++ b/clients/cli/src/main/java/org/apache/gravitino/cli/SchemaCommandHandler.java @@ -61,7 +61,7 @@ public SchemaCommandHandler( @Override protected void handle() { String userName = line.getOptionValue(GravitinoOptions.LOGIN); - Command.setAuthenticationMode(getAuth(line), userName); + Command.setAuthenticationMode(context.auth(), userName); List missingEntities = Lists.newArrayList(); if (metalake == null) missingEntities.add(CommandEntities.METALAKE); diff --git a/clients/cli/src/main/java/org/apache/gravitino/cli/TableCommandHandler.java b/clients/cli/src/main/java/org/apache/gravitino/cli/TableCommandHandler.java index 82876917040..1e88150775c 100644 --- a/clients/cli/src/main/java/org/apache/gravitino/cli/TableCommandHandler.java +++ b/clients/cli/src/main/java/org/apache/gravitino/cli/TableCommandHandler.java @@ -64,7 +64,7 @@ public TableCommandHandler( @Override protected void handle() { String userName = line.getOptionValue(GravitinoOptions.LOGIN); - Command.setAuthenticationMode(getAuth(line), userName); + Command.setAuthenticationMode(context.auth(), userName); List missingEntities = Lists.newArrayList(); if (catalog == null) missingEntities.add(CommandEntities.CATALOG); diff --git a/clients/cli/src/main/java/org/apache/gravitino/cli/TagCommandHandler.java b/clients/cli/src/main/java/org/apache/gravitino/cli/TagCommandHandler.java index 2c8612a33c4..a5963d26dd7 100644 --- a/clients/cli/src/main/java/org/apache/gravitino/cli/TagCommandHandler.java +++ b/clients/cli/src/main/java/org/apache/gravitino/cli/TagCommandHandler.java @@ -50,7 +50,7 @@ public TagCommandHandler( public void handle() { String userName = line.getOptionValue(GravitinoOptions.LOGIN); FullName name = new FullName(line); - Command.setAuthenticationMode(getAuth(line), userName); + Command.setAuthenticationMode(context.auth(), userName); metalake = name.getMetalakeName(); diff --git a/clients/cli/src/main/java/org/apache/gravitino/cli/TopicCommandHandler.java b/clients/cli/src/main/java/org/apache/gravitino/cli/TopicCommandHandler.java index 34315fa971d..1db669f00ad 100644 --- a/clients/cli/src/main/java/org/apache/gravitino/cli/TopicCommandHandler.java +++ b/clients/cli/src/main/java/org/apache/gravitino/cli/TopicCommandHandler.java @@ -64,7 +64,7 @@ public TopicCommandHandler( @Override protected void handle() { String userName = line.getOptionValue(GravitinoOptions.LOGIN); - Command.setAuthenticationMode(getAuth(line), userName); + Command.setAuthenticationMode(context.auth(), userName); List missingEntities = Lists.newArrayList(); if (catalog == null) missingEntities.add(CommandEntities.CATALOG); diff --git a/clients/cli/src/main/java/org/apache/gravitino/cli/UserCommandHandler.java b/clients/cli/src/main/java/org/apache/gravitino/cli/UserCommandHandler.java index 5fd7d906b9b..58fe011ef5d 100644 --- a/clients/cli/src/main/java/org/apache/gravitino/cli/UserCommandHandler.java +++ b/clients/cli/src/main/java/org/apache/gravitino/cli/UserCommandHandler.java @@ -58,7 +58,7 @@ public UserCommandHandler( @Override protected void handle() { String userName = line.getOptionValue(GravitinoOptions.LOGIN); - Command.setAuthenticationMode(getAuth(line), userName); + Command.setAuthenticationMode(context.auth(), userName); user = line.getOptionValue(GravitinoOptions.USER); diff --git a/web/web/src/app/metalakes/metalake/rightContent/CreateCatalogDialog.js b/web/web/src/app/metalakes/metalake/rightContent/CreateCatalogDialog.js index 6f0cf70edf9..b44ba22bc76 100644 --- a/web/web/src/app/metalakes/metalake/rightContent/CreateCatalogDialog.js +++ b/web/web/src/app/metalakes/metalake/rightContent/CreateCatalogDialog.js @@ -306,7 +306,7 @@ const CreateCatalogDialog = props => { jdbcUser && (properties['jdbc-user'] = jdbcUser) jdbcPwd && (properties['jdbc-password'] = jdbcPwd) } - authType && (properties['authType'] = authType) + authType && (properties['authentication.type'] = authType) kerberosPrincipal && (properties['authentication.kerberos.principal'] = kerberosPrincipal) kerberosKeytabUri && (properties['authentication.kerberos.keytab-uri'] = kerberosKeytabUri)