#include <shibsp/SessionCache.h>
Inheritance diagram for shibsp::SessionCache:
Public Member Functions | |
virtual void | insert (const Application &application, const xmltooling::HTTPRequest &httpRequest, xmltooling::HTTPResponse &httpResponse, time_t expires, const opensaml::saml2md::EntityDescriptor *issuer=nullptr, const XMLCh *protocol=nullptr, const opensaml::saml2::NameID *nameid=nullptr, const XMLCh *authn_instant=nullptr, const XMLCh *session_index=nullptr, const XMLCh *authncontext_class=nullptr, const XMLCh *authncontext_decl=nullptr, const std::vector< const opensaml::Assertion * > *tokens=nullptr, const std::vector< Attribute * > *attributes=nullptr)=0 |
virtual void | insert (std::string &sessionID, const Application &application, const xmltooling::HTTPRequest &httpRequest, xmltooling::HTTPResponse &httpResponse, time_t expires, const opensaml::saml2md::EntityDescriptor *issuer=nullptr, const XMLCh *protocol=nullptr, const opensaml::saml2::NameID *nameid=nullptr, const XMLCh *authn_instant=nullptr, const XMLCh *session_index=nullptr, const XMLCh *authncontext_class=nullptr, const XMLCh *authncontext_decl=nullptr, const std::vector< const opensaml::Assertion * > *tokens=nullptr, const std::vector< Attribute * > *attributes=nullptr) |
Inserts a new session into the cache and binds the session to the outgoing client response. | |
virtual bool | matches (const Application &application, const xmltooling::HTTPRequest &request, const opensaml::saml2md::EntityDescriptor *issuer, const opensaml::saml2::NameID &nameid, const std::set< std::string > *indexes)=0 |
Determines whether the Session bound to a client request matches a set of input criteria. | |
virtual void | test ()=0 |
Executes a test of the cache's general health. | |
virtual std::string | active (const Application &application, const xmltooling::HTTPRequest &request)=0 |
Returns the ID of the session bound to the specified client request, if possible. | |
virtual Session * | find (const Application &application, const xmltooling::HTTPRequest &request, const char *client_addr=nullptr, time_t *timeout=nullptr)=0 |
Locates an existing session bound to a request. | |
virtual Session * | find (const Application &application, xmltooling::HTTPRequest &request, const char *client_addr=nullptr, time_t *timeout=nullptr) |
Locates an existing session bound to a request. | |
virtual void | remove (const Application &application, const xmltooling::HTTPRequest &request, xmltooling::HTTPResponse *response=nullptr)=0 |
Deletes an existing session bound to a request. |
The cache abstracts a persistent (meaning across requests) cache of instances of the Session interface. Creation of new entries and entry lookup are confined to this interface to enable the implementation to remote and/or optimize calls by implementing custom versions of the Session interface as required.
|
Returns the ID of the session bound to the specified client request, if possible.
|
|
Locates an existing session bound to a request. If the client address is supplied, then a check will be performed against the address recorded in the record. If a bound session is found to have expired, be invalid, etc., and if the request can be used to "clear" the session from subsequent client requests, then it may be cleared.
|
|
Locates an existing session bound to a request. If the client address is supplied, then a check will be performed against the address recorded in the record.
|
|
Inserts a new session into the cache and binds the session to the outgoing client response. The newly created session ID is placed into the first parameter. The SSO tokens and Attributes remain owned by the caller and are copied by the cache.
|
|
The SSO tokens and Attributes remain owned by the caller and are copied by the cache.
|
|
Determines whether the Session bound to a client request matches a set of input criteria.
|
|
Deletes an existing session bound to a request.
|