org.aselect.server.request.handler.shibboleth
Class ShibbolethWAYFProfile

java.lang.Object
  extended by org.aselect.server.request.handler.AbstractRequestHandler
      extended by org.aselect.server.request.handler.shibboleth.ShibbolethWAYFProfile
All Implemented Interfaces:
IRequestHandler

public class ShibbolethWAYFProfile
extends AbstractRequestHandler

Where are you from request handler.

Description:
WAYF request handler with a Shibboleth interface.

Concurrency issues:
-

Author:
Alfa & Ariss

Field Summary
 
Fields inherited from class org.aselect.server.request.handler.AbstractRequestHandler
_configManager, _oServletConfig, _oSessionManager, _systemLogger
 
Constructor Summary
ShibbolethWAYFProfile()
           
 
Method Summary
 void destroy()
          Clears class variables from memory.
 void init(javax.servlet.ServletConfig oServletConfig, java.lang.Object oConfig)
          Initializes the WAYF request handler.
 RequestState process(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Processes the following requests:

a) ?providerId=[providerId]&shire=[shire]&target=[target]&time=[time]
The time parameter is optional, if available the request will be checked for expiration.
 
Methods inherited from class org.aselect.server.request.handler.AbstractRequestHandler
getID, getPattern
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ShibbolethWAYFProfile

public ShibbolethWAYFProfile()
Method Detail

init

public void init(javax.servlet.ServletConfig oServletConfig,
                 java.lang.Object oConfig)
          throws ASelectException
Initializes the WAYF request handler.

Description:
Reads the following configuration:

<handler>
<template>[template]</template>
<cookie domain='[domain]'/>
<time offset='[offset]'/>
<identity_providers>
<idp alias='[alias]' url='[url]'/>
...
</identity_providers>
</handler>

The _vIdPs contains the sequence of the configured IdP's, according to this sequence the items will be shown in the pulldown.
The _htIdPs contains the IdP's with key=alias and value=url

Specified by:
init in interface IRequestHandler
Overrides:
init in class AbstractRequestHandler
Parameters:
oServletConfig - Servlet Config of the Parent servlet
oConfig - Object containing the RequestHandler configuration
Throws:
ASelectException - if initalization fails
See Also:
AbstractRequestHandler.init(javax.servlet.ServletConfig, java.lang.Object)

process

public RequestState process(javax.servlet.http.HttpServletRequest request,
                            javax.servlet.http.HttpServletResponse response)
                     throws ASelectException
Processes the following requests:

a) ?providerId=[providerId]&shire=[shire]&target=[target]&time=[time]
The time parameter is optional, if available the request will be checked for expiration. A request is expired if the sent time has a bigger delay then the configured offset.
As result of this request, the WAYF page will be shown.
b) ?providerId=[providerId]&shire=[shire]&target=[target]&idp=[idp]
This request results in a redirect to the 'idp'.
If a cookie is available with the name 'idp' then this idp will be selected in the pulldown.

During processing, the following steps are runned through:

Parameters:
request - HttpServletRequest containing the request
response - HttpServletResponse containing the response
Returns:
RequestState containing the request handling state
Throws:
ASelectException - if the request couldn't be processed
See Also:
IRequestHandler.process(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)

destroy

public void destroy()
Clears class variables from memory.

See Also:
IRequestHandler.destroy()


Copyright © 2008 SURFnet BV. All Rights Reserved.