Only Test
git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/data-access/gcube-geoserver-connector@148469 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
318b84e8a5
commit
e04ef0ba34
|
@ -2,6 +2,7 @@ package org.gcube.data.access.connector;
|
|||
|
||||
import java.util.Enumeration;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
||||
import org.gcube.smartgears.handlers.application.RequestEvent;
|
||||
|
@ -29,8 +30,10 @@ public class GeoServerConnectorRequestHandler extends RequestHandler {
|
|||
public void handleRequest(RequestEvent e) {
|
||||
|
||||
this.logger.debug("Handling request");
|
||||
System.out.println("Handling request");
|
||||
HttpServletRequest httpServletRequest = e.request();
|
||||
|
||||
/*
|
||||
// create the AuthenticationRequest object to wrap the HttpServletRequest
|
||||
AuthenticationRequest request = new AuthenticationRequest(httpServletRequest);
|
||||
|
||||
|
@ -40,7 +43,8 @@ public class GeoServerConnectorRequestHandler extends RequestHandler {
|
|||
String n = (String) en.nextElement();
|
||||
String v = request.getHeader(n);
|
||||
this.logger.debug(n + " : " + v + "\n");
|
||||
}
|
||||
}*/
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -0,0 +1,90 @@
|
|||
package org.gcube.data.access.connector;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import javax.servlet.Filter;
|
||||
import javax.servlet.FilterChain;
|
||||
import javax.servlet.FilterConfig;
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.ServletRequest;
|
||||
import javax.servlet.ServletResponse;
|
||||
import javax.servlet.annotation.WebFilter;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
@WebFilter(filterName = "GeoServerFilter", urlPatterns = {"/*"})
|
||||
public class GeoServerFilter implements Filter {
|
||||
|
||||
@Override
|
||||
public void init(FilterConfig filterConfig) throws ServletException {
|
||||
System.out.println("init");
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
|
||||
throws IOException, ServletException {
|
||||
System.out.println("doFilter");
|
||||
|
||||
/*
|
||||
* // if the ServletRequest is an instance of HttpServletRequest if
|
||||
* (servletRequest instanceof HttpServletRequest) { // cast the object
|
||||
* HttpServletRequest httpServletRequest = (HttpServletRequest)
|
||||
* servletRequest; // create the AuthenticationRequest object to wrap
|
||||
* the HttpServletRequest System.out.println(
|
||||
* "create a HttpServletRequestWrapper"); AuthenticationRequest request
|
||||
* = new AuthenticationRequest(httpServletRequest);
|
||||
*
|
||||
* // continue on in the filter chain with the AuthenticationRequest and
|
||||
* ServletResponse objects filterChain.doFilter(request,
|
||||
* servletResponse); } else { // otherwise, continue on in the chain
|
||||
* with the ServletRequest and ServletResponse objects
|
||||
* filterChain.doFilter(servletRequest, servletResponse); }
|
||||
*/
|
||||
|
||||
ServletRequestWrapper request = new ServletRequestWrapper((HttpServletRequest) servletRequest);
|
||||
HttpServletResponse response = (HttpServletResponse) servletResponse;
|
||||
//HttpSession session = request.getSession();
|
||||
//Cookie cookie = null;
|
||||
try {
|
||||
|
||||
String auth = request.getHeader("Authorization");
|
||||
System.out.println("******************* " + auth);
|
||||
if (auth == null) {
|
||||
System.out.println("Authorization Header not found.");
|
||||
// get cookie --COOKIE NAME--
|
||||
/*Cookie[] cookies = request.getCookies();
|
||||
if (cookies == null) {
|
||||
throw new Exception("Cookies not set.");
|
||||
}
|
||||
for (int i = 0; i < cookies.length; i++) {
|
||||
if (cookies[i].getName().equals(config.getProperty("authentication.cookie.name"))) {
|
||||
cookie = cookies[i];
|
||||
}
|
||||
}
|
||||
if (cookie == null) {
|
||||
throw new FalseException(
|
||||
"Cannot find Cookie (" + config.getProperty("authentication.cookie.name") + ") on Client");
|
||||
}*/
|
||||
|
||||
|
||||
System.out.println("Setting Authorization Header...");
|
||||
//request.setAttribute("Authorization", decToken);
|
||||
request.addHeader("Authorization", "BASIC YWRtaW46Z2Vvc2VydmVy");
|
||||
System.out.println("Authorization Header set.");
|
||||
System.out.println("Validating Authorization Header value: " + request.getHeader("Authorization"));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
//response.sendRedirect(config.getProperty("application.login.url"));
|
||||
}
|
||||
System.out.println("AuthenticationFilter.doFilter() finished.");
|
||||
filterChain.doFilter(request, response);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void destroy() {
|
||||
System.out.println("destroy");
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,70 @@
|
|||
package org.gcube.data.access.connector;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Enumeration;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletRequestWrapper;
|
||||
|
||||
public class ServletRequestWrapper extends HttpServletRequestWrapper {
|
||||
|
||||
private Map<String, String> headerMap;
|
||||
|
||||
public ServletRequestWrapper(HttpServletRequest request) {
|
||||
super(request);
|
||||
headerMap = new HashMap<String, String>();
|
||||
}
|
||||
|
||||
public void addHeader(String name, String value) {
|
||||
System.out.println("addHeader in the headerMap: " + name + " " + value);
|
||||
headerMap.put(name, new String(value));
|
||||
}
|
||||
|
||||
public Enumeration<String> getHeaderNames() {
|
||||
System.out.println("in getHeaderNames");
|
||||
HttpServletRequest request = (HttpServletRequest) getRequest();
|
||||
List<String> list = new ArrayList<String>();
|
||||
for (Enumeration<String> e = request.getHeaderNames(); e.hasMoreElements();) {
|
||||
String header = e.nextElement().toString();
|
||||
list.add(header);
|
||||
}
|
||||
|
||||
for (Iterator<String> i = headerMap.keySet().iterator(); i.hasNext();) {
|
||||
list.add(i.next());
|
||||
}
|
||||
return Collections.enumeration(list);
|
||||
}
|
||||
|
||||
public String getHeader(String name) {
|
||||
System.out.println("in getHeader (" + name + ")");
|
||||
Object value;
|
||||
if ((value = headerMap.get("" + name)) != null) {
|
||||
System.out.println("value " + value);
|
||||
return value.toString();
|
||||
} else {
|
||||
System.out.println("value " + ((HttpServletRequest) getRequest()).getHeader(name));
|
||||
return ((HttpServletRequest) getRequest()).getHeader(name);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Enumeration<String> getHeaders(String name) {
|
||||
System.out.println("in getHeaders (" + name + ")");
|
||||
Enumeration<String> e = super.getHeaders(name);
|
||||
if (e != null && e.hasMoreElements()) {
|
||||
return e;
|
||||
} else {
|
||||
List<String> l = new ArrayList<String>();
|
||||
if (headerMap.get(name) != null) {
|
||||
l.add(headerMap.get(name));
|
||||
}
|
||||
return Collections.enumeration(l);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue