org.springframework.security.web
Class PortResolverImpl

java.lang.Object
  extended by org.springframework.security.web.PortResolverImpl
All Implemented Interfaces:
PortResolver

public class PortResolverImpl
extends Object
implements PortResolver

Concrete implementation of PortResolver that obtains the port from ServletRequest.getServerPort().

This class is capable of handling the IE bug which results in an incorrect URL being presented in the header subsequent to a redirect to a different scheme and port where the port is not a well-known number (ie 80 or 443). Handling involves detecting an incorrect response from ServletRequest.getServerPort() for the scheme (eg a HTTP request on 8443) and then determining the real server port (eg HTTP request is really on 8080). The map of valid ports is obtained from the configured PortMapper.


Constructor Summary
PortResolverImpl()
           
 
Method Summary
 PortMapper getPortMapper()
           
 int getServerPort(javax.servlet.ServletRequest request)
          Indicates the port the ServletRequest was received on.
 void setPortMapper(PortMapper portMapper)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PortResolverImpl

public PortResolverImpl()
Method Detail

getPortMapper

public PortMapper getPortMapper()

getServerPort

public int getServerPort(javax.servlet.ServletRequest request)
Description copied from interface: PortResolver
Indicates the port the ServletRequest was received on.

Specified by:
getServerPort in interface PortResolver
Parameters:
request - that the method should lookup the port for
Returns:
the port the request was received on

setPortMapper

public void setPortMapper(PortMapper portMapper)