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.
void doGenerateMetadata (opensaml::saml2md::SPSSODescriptor &role, const char *handlerURL) const
 Generates RequestInitiator metadata when instructed.

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.
virtual AuthnRequestEvent * newAuthnRequestEvent (const Application &application, const xmltooling::HTTPRequest *request=nullptr) const
 Creates a new AuthnRequestEvent for the event log.

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 AuthnRequestEvent* shibsp::SessionInitiator::newAuthnRequestEvent ( const Application application,
const xmltooling::HTTPRequest *  request = nullptr 
) const [protected, virtual]

Creates a new AuthnRequestEvent for the event log.

Parameters:
application the Application associated with the event
request the HTTP client request associated with the event, or nullptr
Returns:
a fresh AuthnRequestEvent, prepopulated by the input parameters, or nullptr if an error occurs

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.

void shibsp::SessionInitiator::doGenerateMetadata ( opensaml::saml2md::SPSSODescriptor &  role,
const char *  handlerURL 
) const

Generates RequestInitiator metadata when instructed.

Allows subclasses to decide whether it's appropriate to do so instead of requiring them to override the method to stop it.

Parameters:
role role object to inject metadata into
handlerURL base of endpoint to generate metadata with


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 Jun 18 02:31:23 2013 for shibboleth-2.5.2 by  doxygen 1.5.6