shibsp::SessionInitiator Class Reference

Pluggable runtime functionality that handles initiating sessions. More...

#include <shibsp/handler/SessionInitiator.h>

Inheritance diagram for shibsp::SessionInitiator:

shibsp::Handler shibsp::PropertySet

List of all members.

Public Member Functions

virtual const std::set
< std::string > & 
getSupportedOptions () const
 Indicates the set of optional settings supported by the handler.
virtual std::pair< bool, long > run (SPRequest &request, std::string &entityID, bool isHandler=true) const =0
 Executes an incoming request.
std::pair< bool, long > run (SPRequest &request, bool isHandler=true) const
 Executes handler functionality as an incoming request.
const char * getType () const
 Returns the "type" of the Handler plugin.
void generateMetadata (opensaml::saml2md::SPSSODescriptor &role, const char *handlerURL) const
 Generates and/or modifies metadata reflecting the Handler.

Protected Member Functions

bool checkCompatibility (SPRequest &request, bool isHandler) const
 Examines the request and applicable settings to determine whether the handler is able to support the request.

Protected Attributes

std::set< std::string > m_supportedOptions
 Set of optional settings supported by handler.

Static Protected Attributes

static std::map< std::string,
std::string > 
m_remapper
 Property remapper for configuration compatibility.

Friends

void registerSessionInitiators ()
 Registers SessionInitiator implementations.


Detailed Description

Pluggable runtime functionality that handles initiating sessions.

By default, SessionInitiators look for an entityID on the incoming request and pass control to the specialized run method.


Member Function Documentation

bool shibsp::SessionInitiator::checkCompatibility ( SPRequest request,
bool  isHandler 
) const [protected]

Examines the request and applicable settings to determine whether the handler is able to support the request.

If the handler is within a chain, the method will return false, otherwise an exception will be raised.

Parameters:
request SP request context
isHandler true iff executing in the context of a direct handler invocation
Returns:
true iff the request appears to be compatible

virtual const std::set<std::string>& shibsp::SessionInitiator::getSupportedOptions (  )  const [virtual]

Indicates the set of optional settings supported by the handler.

Returns:
a set of the optional settings supported

virtual std::pair<bool,long> shibsp::SessionInitiator::run ( SPRequest request,
std::string &  entityID,
bool  isHandler = true 
) const [pure virtual]

Executes an incoming request.

SessionInitiators can be run either directly by incoming web requests or indirectly/implicitly during other SP processing.

Parameters:
request SP request context
entityID the name of an IdP to request a session from, if known
isHandler true iff executing in the context of a direct handler invocation
Returns:
a pair containing a "request completed" indicator and a server-specific response code

std::pair<bool,long> shibsp::SessionInitiator::run ( SPRequest request,
bool  isHandler = true 
) const [virtual]

Executes handler functionality as an incoming request.

Handlers can be run either directly by incoming web requests or indirectly/implicitly during other SP processing.

Parameters:
request SP request context
isHandler true iff executing in the context of a direct handler invocation
Returns:
a pair containing a "request completed" indicator and a server-specific response code

Implements shibsp::Handler.

const char* shibsp::SessionInitiator::getType (  )  const [virtual]

Returns the "type" of the Handler plugin.

Returns:
a Handler type

Reimplemented from shibsp::Handler.

void shibsp::SessionInitiator::generateMetadata ( opensaml::saml2md::SPSSODescriptor &  role,
const char *  handlerURL 
) const [virtual]

Generates and/or modifies metadata reflecting the Handler.

The default implementation does nothing.

Parameters:
role metadata role to decorate
handlerURL base location of handler's endpoint

Reimplemented from shibsp::Handler.


Friends And Related Function Documentation

void registerSessionInitiators (  )  [friend]

Registers SessionInitiator implementations.


Member Data Documentation

std::map<std::string,std::string> shibsp::SessionInitiator::m_remapper [static, protected]

Property remapper for configuration compatibility.

std::set<std::string> shibsp::SessionInitiator::m_supportedOptions [protected]

Set of optional settings supported by handler.


The documentation for this class was generated from the following file:

Generated on Tue Jul 26 01:11:32 2011 for shibboleth-2.4.3 by  doxygen 1.5.6