View Javadoc

1   /**
2    * 
3    */
4   package de.tivsource.page.valve.security;
5   
6   import java.io.IOException;
7   
8   import javax.servlet.ServletException;
9   
10  import org.apache.catalina.connector.Request;
11  import org.apache.catalina.connector.Response;
12  import org.apache.catalina.valves.ValveBase;
13  import org.apache.commons.logging.Log;
14  import org.apache.commons.logging.LogFactory;
15  
16  /**
17   * Klasse die dazu dient die IP-Adresse aus dem Request auszulesen und dem
18   * Login-Module zur Verfügung zu stellen.
19   * 
20   * @author Marc Michele
21   *
22   */
23  public class RemoteAddressValve extends ValveBase {
24  
25  	private static final Log LOGGER = LogFactory.getLog(RemoteAddressValve.class);
26  
27  	@Override
28  	public void invoke(Request request, Response response) throws IOException,
29  			ServletException {
30  		LOGGER.debug("RemoteAddressValve invoke() aufgerufen");
31          String key = request.getRemoteAddr();
32          if (key == null) throw new ServletException("Keine IP-Adresse vorhanden");
33          LOGGER.debug("IP-Adresse: " + key);
34          RemoteAddressThreadLocal.setKey(key);
35          // Rufe nächste valve auf
36          getNext().invoke(request, response);
37          LOGGER.debug("RemoteAddressValve invoke() beendet");
38  	}
39  
40  }// Ende class