shibboleth-3.0.4
|
Interface to a Shibboleth ServiceProvider instance. More...
#include <shibsp/ServiceProvider.h>
Public Member Functions | |
virtual void | init ()=0 |
Loads a configuration and prepares the instance for use. More... | |
virtual const XMLCh * | getConfigurationNamespace () const =0 |
Get the "active" XML namespace of the underlying configuration. More... | |
virtual TransactionLog * | getTransactionLog () const =0 |
Returns a TransactionLog instance. More... | |
virtual xmltooling::StorageService * | getStorageService (const char *id) const =0 |
Returns a StorageService instance based on an ID. More... | |
virtual SessionCache * | getSessionCache (bool required=true) const =0 |
Returns a SessionCache instance. More... | |
virtual ListenerService * | getListenerService (bool required=true) const =0 |
Returns a ListenerService instance. More... | |
virtual SecurityPolicyProvider * | getSecurityPolicyProvider (bool required=true) const =0 |
Returns a SecurityPolicyProvider instance. More... | |
virtual bool | setTransportOptions (xmltooling::SOAPTransport &transport) const =0 |
Sets implementation-specific transport options. More... | |
virtual RequestMapper * | getRequestMapper (bool required=true) const =0 |
Returns a RequestMapper instance. More... | |
virtual const Application * | getApplication (const char *applicationId) const =0 |
Returns an Application instance matching the specified ID. More... | |
virtual std::pair< bool, long > | doAuthentication (SPRequest &request, bool handler=false) const |
Enforces requirements for an authenticated session. More... | |
virtual std::pair< bool, long > | doAuthorization (SPRequest &request) const |
Enforces authorization requirements based on the authenticated session. More... | |
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. More... | |
virtual std::pair< bool, long > | doHandler (SPRequest &request) const |
Services requests for registered Handler locations. More... | |
virtual void | regListener (const char *address, Remoted *svc)=0 |
Register for a message. More... | |
virtual bool | unregListener (const char *address, Remoted *current)=0 |
Unregisters service from an address, possibly restoring an original. More... | |
virtual Remoted * | lookupListener (const char *address) const =0 |
Returns current service registered at an address, if any. More... | |
![]() | |
virtual const PropertySet * | getParent () const =0 |
Returns parent of this PropertySet, if any. More... | |
virtual void | setParent (const PropertySet *parent)=0 |
Establishes a "parent" PropertySet to supply inherited settings. More... | |
virtual std::pair< bool, bool > | getBool (const char *name, const char *ns=nullptr) const =0 |
Returns a boolean-valued property. More... | |
virtual std::pair< bool, const char * > | getString (const char *name, const char *ns=nullptr) const =0 |
Returns a string-valued property. More... | |
virtual std::pair< bool, const XMLCh * > | getXMLString (const char *name, const char *ns=nullptr) const =0 |
Returns a Unicode string-valued property. More... | |
virtual std::pair< bool, unsigned int > | getUnsignedInt (const char *name, const char *ns=nullptr) const =0 |
Returns an unsigned integer-valued property. More... | |
virtual std::pair< bool, int > | getInt (const char *name, const char *ns=nullptr) const =0 |
Returns an integer-valued property. More... | |
virtual const PropertySet * | getPropertySet (const char *name, const char *ns=shibspconstants::ASCII_SHIBSPCONFIG_NS) const =0 |
Returns a nested property set. More... | |
virtual const xercesc::DOMElement * | getElement () const =0 |
Returns a DOM element representing the property container, if any. More... | |
Protected Attributes | |
std::set< std::string > | m_authTypes |
The AuthTypes to "recognize" (defaults to "shibboleth"). | |
Interface to a Shibboleth ServiceProvider instance.
A ServiceProvider exposes configuration and infrastructure services required by the SP implementation, allowing a flexible configuration format.
|
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 |
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 |
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 |
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 |
|
pure virtual |
Returns an Application instance matching the specified ID.
applicationId | the ID of the application, or nullptr for the default |
Implemented in shibsp::XMLConfig.
|
pure virtual |
Get the "active" XML namespace of the underlying configuration.
This accomodates multiple supported configuration schemas at runtime by allowing components to tailor their behavior to the specific format in use.
Implemented in shibsp::XMLConfig.
|
pure virtual |
Returns a ListenerService instance.
required | true iff an exception should be thrown if no ListenerService is available |
Implemented in shibsp::XMLConfig.
|
pure virtual |
Returns a RequestMapper instance.
required | true iff an exception should be thrown if no RequestMapper is available |
Implemented in shibsp::XMLConfig.
|
pure virtual |
Returns a SecurityPolicyProvider instance.
required | true iff an exception should be thrown if no SecurityPolicyProvider is available |
Implemented in shibsp::XMLConfig.
|
pure virtual |
Returns a SessionCache instance.
required | true iff an exception should be thrown if no SessionCache is available |
Implemented in shibsp::XMLConfig.
|
pure virtual |
Returns a StorageService instance based on an ID.
id | a nullptr-terminated key identifying the StorageService to the configuration |
Implemented in shibsp::XMLConfig.
|
pure virtual |
Returns a TransactionLog instance.
Implemented in shibsp::XMLConfig.
|
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.
Implemented in shibsp::XMLConfig.
|
pure virtual |
Returns current service registered at an address, if any.
address | message address to access |
Implemented in shibsp::XMLConfig.
|
pure virtual |
Register for a message.
address | message address to register |
svc | pointer to remote service |
Implemented in shibsp::XMLConfig.
|
pure virtual |
Sets implementation-specific transport options.
transport | a SOAPTransport object |
Implemented in shibsp::XMLConfig.
|
pure virtual |
Unregisters service from an address, possibly restoring an original.
address | message address to modify |
current | pointer to unregistering service |
Implemented in shibsp::XMLConfig.