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
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 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 |
SSOProxyServlet
public SSOProxyServlet()
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.