File tree Expand file tree Collapse file tree 2 files changed +76
-0
lines changed
core/src/main/java/org/apache/spark/ui/filters Expand file tree Collapse file tree 2 files changed +76
-0
lines changed Original file line number Diff line number Diff line change 1+ package org .apache .spark .ui .filters ;
2+
3+ import org .apache .commons .collections .iterators .IteratorEnumeration ;
4+
5+ import javax .servlet .FilterConfig ;
6+ import javax .servlet .ServletContext ;
7+ import java .util .Enumeration ;
8+ import java .util .HashMap ;
9+ import java .util .Map ;
10+
11+ public class FilterConfigWrapper implements FilterConfig {
12+
13+ private Map <String , String > conf = new HashMap <>();
14+ private ServletContext servletContext ;
15+ private String filterName ;
16+
17+ @ Override
18+ public String getFilterName () {
19+ return filterName ;
20+ }
21+
22+ public void setFilterName (String filterName ) {
23+ this .filterName = filterName ;
24+ }
25+
26+ @ Override
27+ public ServletContext getServletContext () {
28+ return servletContext ;
29+ }
30+
31+ public void setServletContext (ServletContext servletContext ) {
32+ this .servletContext = servletContext ;
33+ }
34+
35+ @ Override
36+ public String getInitParameter (String s ) {
37+ return conf .get (s );
38+ }
39+
40+ public void setInitParameter (String key , String value ) {
41+ conf .put (key , value );
42+ }
43+
44+ @ Override
45+ public Enumeration <String > getInitParameterNames () {
46+ return new IteratorEnumeration (conf .keySet ().iterator ());
47+ }
48+ }
Original file line number Diff line number Diff line change 1+ package org .apache .spark .ui .filters ;
2+
3+ import org .apache .hadoop .security .authentication .server .AuthenticationFilter ;
4+
5+ import javax .servlet .FilterConfig ;
6+ import javax .servlet .ServletException ;
7+ import java .util .Enumeration ;
8+
9+ public class MultiauthWebUiFilter extends AuthenticationFilter {
10+
11+ @ Override
12+ public void init (FilterConfig filterConfig ) throws ServletException {
13+ FilterConfigWrapper filterConfigWrapper = new FilterConfigWrapper ();
14+ Enumeration <String > parameterNames = filterConfig .getInitParameterNames ();
15+ filterConfigWrapper .setFilterName (filterConfig .getFilterName ());
16+ filterConfigWrapper .setServletContext (filterConfig .getServletContext ());
17+ while (parameterNames .hasMoreElements ()) {
18+ String key = parameterNames .nextElement ();
19+ String value = filterConfig .getInitParameter (key );
20+ filterConfigWrapper .setInitParameter (key , value );
21+ }
22+
23+ filterConfigWrapper .setInitParameter (AuthenticationFilter .AUTH_TYPE ,
24+ "org.apache.hadoop.security.authentication.server.MultiMechsAuthenticationHandler" );
25+
26+ super .init (filterConfigWrapper );
27+ }
28+ }
You can’t perform that action at this time.
0 commit comments