#include <shibsp/ServiceProvider.h>
Inheritance diagram for shibsp::ServiceProvider:
Public Member Functions | |
virtual void | init ()=0 |
Loads a configuration and prepares the instance for use. | |
virtual TransactionLog * | getTransactionLog () const =0 |
Returns a TransactionLog instance. | |
virtual xmltooling::StorageService * | getStorageService (const char *id) const =0 |
Returns a StorageService instance based on an ID. | |
virtual SessionCache * | getSessionCache (bool required=true) const =0 |
Returns a SessionCache instance. | |
virtual ListenerService * | getListenerService (bool required=true) const =0 |
Returns a ListenerService instance. | |
virtual const PropertySet * | getPolicySettings (const char *id) const =0 |
Returns the security policy settings for an identified policy. | |
virtual const std::vector< const opensaml::SecurityPolicyRule * > & | getPolicyRules (const char *id) const =0 |
Returns the security policy rules for an identified policy. | |
virtual bool | setTransportOptions (xmltooling::SOAPTransport &transport) const =0 |
Sets implementation-specific transport options. | |
virtual RequestMapper * | getRequestMapper (bool required=true) const =0 |
Returns a RequestMapper instance. | |
virtual const Application * | getApplication (const char *applicationId) const =0 |
Returns an Application instance matching the specified ID. | |
virtual std::pair< bool, long > | doAuthentication (SPRequest &request, bool handler=false) const |
Enforces requirements for an authenticated session. | |
virtual std::pair< bool, long > | doAuthorization (SPRequest &request) const |
Enforces authorization requirements based on the authenticated session. | |
virtual std::pair< bool, long > | doExport (SPRequest &request, bool requireSession=true) const |
Publishes session contents to the request in the form of headers or environment variables. | |
virtual std::pair< bool, long > | doHandler (SPRequest &request) const |
Services requests for registered Handler locations. |
A ServiceProvider exposes configuration and infrastructure services required by the SP implementation, allowing a flexible configuration format.
virtual std::pair<bool,long> shibsp::ServiceProvider::doAuthentication | ( | SPRequest & | request, | |
bool | handler = false | |||
) | const [virtual] |
Enforces requirements for an authenticated session.
If the return value's first member is true, then request processing should terminate with the second member as a status value. If false, processing can continue.
request | SP request interface | |
handler | true iff a request to a registered Handler location can be directly executed |
virtual std::pair<bool,long> shibsp::ServiceProvider::doAuthorization | ( | SPRequest & | request | ) | const [virtual] |
Enforces authorization requirements based on the authenticated session.
If the return value's first member is true, then request processing should terminate with the second member as a status value. If false, processing can continue.
request | SP request interface |
virtual std::pair<bool,long> shibsp::ServiceProvider::doExport | ( | SPRequest & | request, | |
bool | requireSession = true | |||
) | const [virtual] |
Publishes session contents to the request in the form of headers or environment variables.
If the return value's first member is true, then request processing should terminate with the second member as a status value. If false, processing can continue.
request | SP request interface | |
requireSession | set to true iff an error should result if no session exists |
virtual std::pair<bool,long> shibsp::ServiceProvider::doHandler | ( | SPRequest & | request | ) | const [virtual] |
Services requests for registered Handler locations.
If the return value's first member is true, then request processing should terminate with the second member as a status value. If false, processing can continue.
request | SP request interface |
virtual const Application* shibsp::ServiceProvider::getApplication | ( | const char * | applicationId | ) | const [pure virtual] |
Returns an Application instance matching the specified ID.
applicationId | the ID of the application |
virtual ListenerService* shibsp::ServiceProvider::getListenerService | ( | bool | required = true |
) | const [pure virtual] |
Returns a ListenerService instance.
required | true iff an exception should be thrown if no ListenerService is available |
virtual const std::vector<const opensaml::SecurityPolicyRule*>& shibsp::ServiceProvider::getPolicyRules | ( | const char * | id | ) | const [pure virtual] |
Returns the security policy rules for an identified policy.
id | identifies the policy to return |
virtual const PropertySet* shibsp::ServiceProvider::getPolicySettings | ( | const char * | id | ) | const [pure virtual] |
Returns the security policy settings for an identified policy.
id | identifies the policy to return |
virtual RequestMapper* shibsp::ServiceProvider::getRequestMapper | ( | bool | required = true |
) | const [pure virtual] |
Returns a RequestMapper instance.
required | true iff an exception should be thrown if no RequestMapper is available |
virtual SessionCache* shibsp::ServiceProvider::getSessionCache | ( | bool | required = true |
) | const [pure virtual] |
Returns a SessionCache instance.
required | true iff an exception should be thrown if no SessionCache is available |
virtual xmltooling::StorageService* shibsp::ServiceProvider::getStorageService | ( | const char * | id | ) | const [pure virtual] |
Returns a StorageService instance based on an ID.
id | a NULL-terminated key identifying the StorageService to the configuration |
virtual TransactionLog* shibsp::ServiceProvider::getTransactionLog | ( | ) | const [pure virtual] |
virtual void shibsp::ServiceProvider::init | ( | ) | [pure virtual] |
Loads a configuration and prepares the instance for use.
Implemented as a separate method so that services can rely on other services while they initialize by accessing the ServiceProvider from the SPConfig singleton.
virtual bool shibsp::ServiceProvider::setTransportOptions | ( | xmltooling::SOAPTransport & | transport | ) | const [pure virtual] |
Sets implementation-specific transport options.
transport | a SOAPTransport object |