public override void InitFilter(FilterContainer container, Configuration conf) { // setup the filter // use the keys with "yarn.timeline-service.http-cross-origin" prefix to // override the ones with the "hadoop.http.cross-origin" prefix. IDictionary <string, string> filterParameters = GetFilterParameters(conf, HttpCrossOriginFilterInitializer .Prefix); filterParameters.PutAll(GetFilterParameters(conf, GetPrefix())); container.AddGlobalFilter("Cross Origin Filter", typeof(CrossOriginFilter).FullName , filterParameters); }
public override void InitFilter(FilterContainer container, Configuration conf) { string key = GetEnabledConfigKey(); bool enabled = conf.GetBoolean(key, false); if (enabled) { container.AddGlobalFilter("Cross Origin Filter", typeof(CrossOriginFilter).FullName , GetFilterParameters(conf, GetPrefix())); } else { Log.Info("CORS filter not enabled. Please set " + key + " to 'true' to enable it" ); } }
/// <summary> /// Initializes /// <see cref="TimelineAuthenticationFilter"/> /// <p> /// Propagates to /// <see cref="TimelineAuthenticationFilter"/> /// configuration all YARN /// configuration properties prefixed with /// <c>yarn.timeline-service.authentication.</c> /// </summary> /// <param name="container">The filter container</param> /// <param name="conf">Configuration for run-time parameters</param> public override void InitFilter(FilterContainer container, Configuration conf) { filterConfig = new Dictionary <string, string>(); // setting the cookie path to root '/' so it is used for all resources. filterConfig[TimelineAuthenticationFilter.CookiePath] = "/"; foreach (KeyValuePair <string, string> entry in conf) { string name = entry.Key; if (name.StartsWith(ProxyUsers.ConfHadoopProxyuser)) { string value = conf.Get(name); name = Sharpen.Runtime.Substring(name, "hadoop.".Length); filterConfig[name] = value; } } foreach (KeyValuePair <string, string> entry_1 in conf) { string name = entry_1.Key; if (name.StartsWith(Prefix)) { // yarn.timeline-service.http-authentication.proxyuser will override // hadoop.proxyuser string value = conf.Get(name); name = Sharpen.Runtime.Substring(name, Prefix.Length); filterConfig[name] = value; } } string authType = filterConfig[AuthenticationFilter.AuthType]; if (authType.Equals(PseudoAuthenticationHandler.Type)) { filterConfig[AuthenticationFilter.AuthType] = typeof(PseudoDelegationTokenAuthenticationHandler ).FullName; } else { if (authType.Equals(KerberosAuthenticationHandler.Type)) { filterConfig[AuthenticationFilter.AuthType] = typeof(KerberosDelegationTokenAuthenticationHandler ).FullName; // Resolve _HOST into bind address string bindAddress = conf.Get(HttpServer2.BindAddress); string principal = filterConfig[KerberosAuthenticationHandler.Principal]; if (principal != null) { try { principal = SecurityUtil.GetServerPrincipal(principal, bindAddress); } catch (IOException ex) { throw new RuntimeException("Could not resolve Kerberos principal name: " + ex.ToString (), ex); } filterConfig[KerberosAuthenticationHandler.Principal] = principal; } } } filterConfig[DelegationTokenAuthenticationHandler.TokenKind] = TimelineDelegationTokenIdentifier .KindName.ToString(); container.AddGlobalFilter("Timeline Authentication Filter", typeof(TimelineAuthenticationFilter ).FullName, filterConfig); }
public override void InitFilter(FilterContainer container, Configuration conf) { container.AddGlobalFilter("recording", typeof(TestGlobalFilter.RecordingFilter).FullName , null); }