oracle.clex.util.http
Class SSOProxyServlet

java.lang.Object
  |
  +--javax.servlet.GenericServlet
        |
        +--javax.servlet.http.HttpServlet
              |
              +--oracle.clex.util.http.ProxyServlet
                    |
                    +--oracle.clex.util.http.SSOProxyServlet
All Implemented Interfaces:
java.io.Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

public class SSOProxyServlet
extends ProxyServlet

Use this class for each proxy servlet that also needs to be authenticated against Oracle's Login Server as a Partner Application before acting as a proxy. See below for example required entries for initializing this Proxy Servlet as a Login Server Partner Application (servlet init parameters).

As in the superclass, HttpProxyServlet, specify the backend or target servlet in the servlet's init parameters (see below). You can then acces the target servlet by accessing the subclasses Proxy class. Session is maintained and POSTS and GETS are both supported. All HTTP commands should work transparantly.

Usage example:

  In web.xml:

<servlet>
  <servlet-name>proxyservlet</servlet-name>
  <servlet-class>oracle.clex.util.http.SSOProxyServlet</servlet-class>
  
  <init-param>
    <param-name>target</param-name>
    <param-value>http://localhost:8888/servlet/snoop</param-value>
  </init-param>
  
  <init-param>
    <param-name>provider_root</param-name>
    <param-value>C:\Oracle\iSuites\portal30\jpdk\providers\partnerApp, sessiontimeout=1800000</param-value>
  </init-param>
  <init-param>
    <param-name>listenerToken</param-name>
    <param-value>proxyservlet:login.server.host:80</param-value>
  </init-param>
  <init-param>
    <param-name>requestedUrl</param-name>
    <param-value>http://localhost:8888/servlet/proxyservlet</param-value>
  </init-param>
  <init-param>
    <param-name>onCancelUrl</param-name>
    <param-value>http://localhost:8888/</param-value>
  </init-param>
  <init-param>
    <param-name>partnerAppCookieName</param-name>
    <param-value>SSO_PAPP_SERVLET_ID</param-value>
  </init-param>
  <init-param>
    <param-name>partnerAppCookieDomain</param-name>
    <param-value>my.domain.com</param-value>
  </init-param>
  <init-param>
    <param-name>partnerAppCookieScope</param-name>
    <param-value>/</param-value>
  </init-param>
  <init-param>
    <param-name>partnerAppCookieDesc</param-name>
    <param-value>SSO application cookie</param-value>
  </init-param>
  <init-param>
    <param-name>providerName</param-name>
    <param-value>ssoProvider</param-value>
  </init-param>
</servlet>
<servlet>
  <servlet-name>proxyservletprovider</servlet-name>
  <servlet-class>oracle.portal.provider.v1.http.HttpProvider</servlet-class>
  <init-param>
    <param-name>provider_root</param-name>
    <param-value>C:\Oracle\iSuites\portal30\jpdk\providers\partnerApp, sessiontimeout=1800000</param-value>
  </init-param>
  <init-param>
    <param-name>listenerToken</param-name>
    <param-value>proxyservlet:login.server.host:80</param-value>
  </init-param>
  <init-param>
    <param-name>requestedUrl</param-name>
    <param-value>http://localhost:8888/servlet/proxyservlet</param-value>
  </init-param>
  <init-param>
    <param-name>onCancelUrl</param-name>
    <param-value>http://localhost:8888/</param-value>
  </init-param>
  <init-param>
    <param-name>partnerAppCookieName</param-name>
    <param-value>SSO_PAPP_SERVLET_ID</param-value>
  </init-param>
  <init-param>
    <param-name>partnerAppCookieDomain</param-name>
    <param-value>my.domain.com</param-value>
  </init-param>
  <init-param>
    <param-name>partnerAppCookieScope</param-name>
    <param-value>/</param-value>
  </init-param>
  <init-param>
    <param-name>partnerAppCookieDesc</param-name>
    <param-value>SSO application cookie</param-value>
  </init-param>
  <init-param>
    <param-name>providerName</param-name>
    <param-value>ssoProvider</param-value>
  </init-param>
</servlet>

 

See Also:
Serialized Form

Fields inherited from class oracle.clex.util.http.ProxyServlet
TARGET_INIT_PARAM
 
Constructor Summary
SSOProxyServlet()
           
 
Method Summary
static PartnerSSOEnabler getSSOEnabler()
          Returns the PartnerSSOEnabler object that was initialized in init.
protected  java.lang.String handleOSSOLogin(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Handles the call to the Oracle Login Server and returns the logged in user name if the user is authenticated successfully.
 void init(javax.servlet.ServletConfig sc)
          Picks up the Http target from the servlet's init parameters
protected  void initSSOEnabler(javax.servlet.ServletConfig sc)
          Initialize PartnerSSOEnabler static attribute with servlet configuration arguments.
 void service(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
           
 
Methods inherited from class oracle.clex.util.http.ProxyServlet
debug, getTarget, setTarget
 
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service, service
 
Methods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SSOProxyServlet

public SSOProxyServlet()
Method Detail

init

public void init(javax.servlet.ServletConfig sc)
          throws javax.servlet.ServletException
Description copied from class: ProxyServlet
Picks up the Http target from the servlet's init parameters
Overrides:
init in class ProxyServlet

initSSOEnabler

protected void initSSOEnabler(javax.servlet.ServletConfig sc)
                       throws javax.servlet.ServletException
Initialize PartnerSSOEnabler static attribute with servlet configuration arguments.

getSSOEnabler

public static PartnerSSOEnabler getSSOEnabler()
Returns the PartnerSSOEnabler object that was initialized in init.

service

public void service(javax.servlet.http.HttpServletRequest request,
                    javax.servlet.http.HttpServletResponse response)
             throws java.io.IOException,
                    javax.servlet.ServletException
Overrides:
service in class ProxyServlet

handleOSSOLogin

protected java.lang.String handleOSSOLogin(javax.servlet.http.HttpServletRequest request,
                                           javax.servlet.http.HttpServletResponse response)
                                    throws java.lang.Exception
Handles the call to the Oracle Login Server and returns the logged in user name if the user is authenticated successfully. Otherwise, returns null. This method is invoked from service.


Copyright © 2003 ORACLE Corp. All Rights Reserved.