/** {@inheritDoc} */ @Override public void stop(StopContext context) { // Trigger a reload of configuration if anything else uses it. synchronized(Configuration.class) { Configuration.setConfiguration(null); } }
Configuration jaasConfig = Configuration.getConfiguration(); configEntries = jaasConfig.getAppConfigurationEntry(listenerContextName); if (configEntries != null) contextName = listenerContextName; configEntries = jaasConfig.getAppConfigurationEntry(globalContextName);
/** * Hook method for configuring Jaas. * * @param loginConfig URL to Jaas login configuration * * @throws IOException if there is a problem reading the config resource. */ protected void configureJaas(Resource loginConfig) throws IOException { configureJaasUsingLoop(); if (this.refreshConfigurationOnStartup) { // Overcome issue in SEC-760 Configuration.getConfiguration().refresh(); } }
public JaasContext(String name, Type type, Configuration configuration, Password dynamicJaasConfig) { this.name = name; this.type = type; this.configuration = configuration; AppConfigurationEntry[] entries = configuration.getAppConfigurationEntry(name); if (entries == null) throw new IllegalArgumentException("Could not find a '" + name + "' entry in this JAAS configuration."); this.configurationEntries = Collections.unmodifiableList(new ArrayList<>(Arrays.asList(entries))); this.dynamicJaasConfig = dynamicJaasConfig; }
loginConfig = Configuration.getInstance( "JavaLoginConfig", null, configSpiName ); if (loginConfig.getAppConfigurationEntry(appName) == null) { log.warn("No configuration found for application {} though fetching JAAS " + "configuration from SPI {} is enabled.", appName, configSpiName); loginConfig = Configuration.getConfiguration(); if (loginConfig.getAppConfigurationEntry(appName) == null) { loginConfig = null;
private JaasConfiguration(String loginContextName, String principal, String keytabFile, boolean useTicketCache) { try { this.baseConfig = javax.security.auth.login.Configuration.getConfiguration(); } catch (SecurityException e) { this.baseConfig = null; } this.loginContextName = loginContextName; this.useTicketCache = useTicketCache; this.keytabFile = keytabFile; this.principal = principal; LOG.info("JaasConfiguration loginContextName=" + loginContextName + " principal=" + principal + " useTicketCache=" + useTicketCache + " keytabFile=" + keytabFile); }
/** * Construct a JAAS configuration object per storm configuration file * * @param topoConf Storm configuration * @return JAAS configuration object */ public static Configuration getConfiguration(Map<String, Object> topoConf) { Configuration login_conf = null; //find login file configuration from Storm configuration String loginConfigurationFile = (String) topoConf.get("java.security.auth.login.config"); if ((loginConfigurationFile != null) && (loginConfigurationFile.length() > 0)) { File config_file = new File(loginConfigurationFile); if (!config_file.canRead()) { throw new RuntimeException("File " + loginConfigurationFile + " cannot be read."); } try { URI config_uri = config_file.toURI(); login_conf = Configuration.getInstance("JavaLoginConfig", new URIParameter(config_uri)); } catch (Exception ex) { throw new RuntimeException(ex); } } return login_conf; }
public void refresh() { if (defaultConfiguration != null) { defaultConfiguration.refresh(); } } }
public ServerCallbackHandler(Configuration configuration, boolean impersonationAllowed) throws IOException { this.impersonationAllowed = impersonationAllowed; if (configuration == null) { return; } AppConfigurationEntry configurationEntries[] = configuration.getAppConfigurationEntry(ClientAuthUtils.LOGIN_CONTEXT_SERVER); if (configurationEntries == null) { String errorMessage = "Could not find a '" + ClientAuthUtils.LOGIN_CONTEXT_SERVER + "' entry in this configuration: Server cannot start."; LOG.error(errorMessage); throw new IOException(errorMessage); } }
loginConfig = Configuration.getInstance( "JavaLoginConfig", null, configSpiName ); if (loginConfig.getAppConfigurationEntry(appName) == null) { log.warn("No configuration found for application {} though fetching JAAS " + "configuration from SPI {} is enabled.", appName, configSpiName); loginConfig = Configuration.getConfiguration(); if (loginConfig.getAppConfigurationEntry(appName) == null) { loginConfig = null;
@Override public void afterPropertiesSet() throws Exception { // the superclass is not called because it does additional checks that are // non-passive Assert.hasLength(getLoginContextName(), () -> "loginContextName must be set on " + getClass()); Assert.notNull(this.loginConfig, () -> "loginConfig must be set on " + getClass()); configureJaas(this.loginConfig); Assert.notNull(Configuration.getConfiguration(), "As per http://java.sun.com/j2se/1.5.0/docs/api/javax/security/auth/login/Configuration.html " + "\"If a Configuration object was set via the Configuration.setConfiguration method, then that object is " + "returned. Otherwise, a default Configuration object is returned\". Your JRE returned null to " + "Configuration.getConfiguration()."); }
/** * Construct a JAAS configuration object per storm configuration file * * @param storm_conf Storm configuration * @return JAAS configuration object */ public static Configuration GetConfiguration(Map storm_conf) { Configuration login_conf = null; // find login file configuration from Storm configuration String loginConfigurationFile = (String) storm_conf.get("java.security.auth.login.config"); if ((loginConfigurationFile != null) && (loginConfigurationFile.length() > 0)) { File config_file = new File(loginConfigurationFile); if (!config_file.canRead()) { throw new RuntimeException("File " + loginConfigurationFile + " cannot be read."); } try { URI config_uri = config_file.toURI(); login_conf = Configuration.getInstance("JavaLoginConfig", new URIParameter(config_uri)); } catch (Exception ex) { throw new RuntimeException(ex); } } return login_conf; }
public void refresh() { if (defaultConfiguration != null) { defaultConfiguration.refresh(); } } }
/** * Returns whether or not secure authentication is enabled * (whether <code>hbase.security.authentication</code> is set to * <code>kerberos</code>. */ public static boolean isSecureZooKeeper(Configuration conf) { // Detection for embedded HBase client with jaas configuration // defined for third party programs. try { javax.security.auth.login.Configuration testConfig = javax.security.auth.login.Configuration.getConfiguration(); if (testConfig.getAppConfigurationEntry("Client") == null && testConfig.getAppConfigurationEntry( JaasConfiguration.CLIENT_KEYTAB_KERBEROS_CONFIG_NAME) == null && testConfig.getAppConfigurationEntry( JaasConfiguration.SERVER_KEYTAB_KERBEROS_CONFIG_NAME) == null && conf.get(HConstants.ZK_CLIENT_KERBEROS_PRINCIPAL) == null && conf.get(HConstants.ZK_SERVER_KERBEROS_PRINCIPAL) == null) { return false; } } catch(Exception e) { // No Jaas configuration defined. return false; } // Master & RSs uses hbase.zookeeper.client.* return "kerberos".equalsIgnoreCase(conf.get("hbase.security.authentication")); }
private void installJaasConfig() { System.setProperty(JaasUtils.JAVA_LOGIN_CONFIG_PARAM, jassConfigFile); System.setProperty(JaasUtils.ZK_SASL_CLIENT, "false"); Configuration.setConfiguration(null); }
/** * Get configurations for a section * * @param configuration The config to pull the key/value pairs out of. * @param section The app configuration entry name to get stuff from. * @return Return array of config entries or null if configuration is null */ public static AppConfigurationEntry[] getEntries(Configuration configuration, String section) throws IOException { if (configuration == null) { return null; } AppConfigurationEntry configurationEntries[] = configuration.getAppConfigurationEntry(section); if (configurationEntries == null) { String errorMessage = "Could not find a '" + section + "' entry in this configuration."; throw new IOException(errorMessage); } return configurationEntries; }
loginConfig = Configuration.getInstance( "JavaLoginConfig", null, configSpiName ); if (loginConfig.getAppConfigurationEntry(appName) == null) { log.warn("No configuration found for application {} though fetching JAAS " + "configuration from SPI {} is enabled.", appName, configSpiName); loginConfig = Configuration.getConfiguration(); if (loginConfig.getAppConfigurationEntry(appName) == null) { loginConfig = null;
/** * Hook method for configuring Jaas. * * @param loginConfig URL to Jaas login configuration * * @throws IOException if there is a problem reading the config resource. */ protected void configureJaas(Resource loginConfig) throws IOException { configureJaasUsingLoop(); if (this.refreshConfigurationOnStartup) { // Overcome issue in SEC-760 Configuration.getConfiguration().refresh(); } }
@Override public void afterPropertiesSet() throws Exception { // the superclass is not called because it does additional checks that are // non-passive Assert.hasLength(getLoginContextName(), () -> "loginContextName must be set on " + getClass()); Assert.notNull(this.loginConfig, () -> "loginConfig must be set on " + getClass()); configureJaas(this.loginConfig); Assert.notNull(Configuration.getConfiguration(), "As per http://java.sun.com/j2se/1.5.0/docs/api/javax/security/auth/login/Configuration.html " + "\"If a Configuration object was set via the Configuration.setConfiguration method, then that object is " + "returned. Otherwise, a default Configuration object is returned\". Your JRE returned null to " + "Configuration.getConfiguration()."); }
public static void main(String[] args) { String path = Configuration.getInstance().getAppFolder(); String cmd = "java -XX:+ForceTimeHighResolution -cp "+path+"\\"+jarName+" "+ mainClassWithPackageName; System.out.println("invoking... \n"+cmd); Process p; try { P = Runtime.getRuntime().exec(cmd); p.waitFor(); System.out.println("Script executed successfully"); } catch (Exception e) { e.printStackTrace(); }