List of usage examples for org.apache.hadoop.security.authentication.util SignerSecretProvider init
public abstract void init(Properties config, ServletContext servletContext, long tokenValidity) throws Exception;
From source file:org.apache.ranger.security.web.filter.RangerKrbFilter.java
License:Apache License
public static SignerSecretProvider constructSecretProvider(ServletContext ctx, Properties config, boolean disallowFallbackToRandomSecretProvider) throws Exception { long validity = Long.parseLong(config.getProperty(AUTH_TOKEN_VALIDITY, "36000")) * 1000; String name = config.getProperty(SIGNER_SECRET_PROVIDER); if (StringUtils.isEmpty(name)) { if (!disallowFallbackToRandomSecretProvider) { name = "random"; } else {//w ww .ja v a2s. c o m name = "file"; } } SignerSecretProvider provider; if ("file".equals(name)) { provider = new FileSignerSecretProvider(); try { provider.init(config, ctx, validity); } catch (Exception e) { if (!disallowFallbackToRandomSecretProvider) { LOG.info("Unable to initialize FileSignerSecretProvider, " + "falling back to use random secrets."); provider = new RandomSignerSecretProvider(); provider.init(config, ctx, validity); } else { throw e; } } } else if ("random".equals(name)) { provider = new RandomSignerSecretProvider(); provider.init(config, ctx, validity); } else if ("zookeeper".equals(name)) { provider = new ZKSignerSecretProvider(); provider.init(config, ctx, validity); } else { provider = (SignerSecretProvider) Thread.currentThread().getContextClassLoader().loadClass(name) .newInstance(); provider.init(config, ctx, validity); } return provider; }
From source file:org.apache.zeppelin.realm.kerberos.KerberosRealm.java
License:Apache License
private SignerSecretProvider constructSecretProvider(boolean fallbackToRandomSecretProvider) throws Exception { SignerSecretProvider provider; String secretProvider = config.getProperty(SIGNER_SECRET_PROVIDER); if (fallbackToRandomSecretProvider && config.getProperty(SIGNATURE_SECRET_FILE) == null) { secretProvider = "random"; }/*from w ww . j a v a 2 s .co m*/ if ("file".equals(secretProvider)) { try { provider = new FileSignerSecretProvider(); provider.init(config, null, tokenValidity); LOG.info("File based secret signer initialized."); } catch (Exception e) { if (fallbackToRandomSecretProvider) { LOG.info("Unable to initialize FileSignerSecretProvider, " + "falling back to use random secrets."); provider = new RandomSignerSecretProvider(); provider.init(config, null, tokenValidity); LOG.info("Random secret signer initialized."); } else { throw new RuntimeException("Can't initialize File based secret signer. Reason: " + e); } } } else if ("random".equals(secretProvider)) { provider = new RandomSignerSecretProvider(); provider.init(config, null, tokenValidity); LOG.info("Random secret signer initialized."); } else { throw new RuntimeException("Custom secret signer not implemented yet. Use 'file' or 'random'."); } return provider; }