shibsp::SessionCacheEx Class Reference

Extended SessionCache API with additional capabilities. More...

#include <shibsp/SessionCacheEx.h>

Inheritance diagram for shibsp::SessionCacheEx:

shibsp::SessionCache

List of all members.

Public Member Functions

virtual std::vector
< std::string >::size_type 
logout (const Application &application, const opensaml::saml2md::EntityDescriptor *issuer, const opensaml::saml2::NameID &nameid, const std::set< std::string > *indexes, time_t expires, std::vector< std::string > &sessions)=0
 Returns active sessions that match particular parameters and records the logout to prevent race conditions.
virtual Sessionfind (const Application &application, const char *key, const char *client_addr=nullptr, time_t *timeout=nullptr)=0
 Locates an existing session by ID.
virtual void remove (const Application &application, const char *key)=0
 Deletes an existing session.


Detailed Description

Extended SessionCache API with additional capabilities.

Member Function Documentation

virtual std::vector<std::string>::size_type shibsp::SessionCacheEx::logout ( const Application application,
const opensaml::saml2md::EntityDescriptor *  issuer,
const opensaml::saml2::NameID &  nameid,
const std::set< std::string > *  indexes,
time_t  expires,
std::vector< std::string > &  sessions 
) [pure virtual]

Returns active sessions that match particular parameters and records the logout to prevent race conditions.

On exit, the mapping between these sessions and the associated information MAY be removed by the cache, so subsequent calls to this method may not return anything.

Until logout expiration, any attempt to create a session with the same parameters will be blocked by the cache.

Parameters:
application reference to Application that owns the session(s)
issuer source of session(s)
nameid name identifier associated with the session(s) to terminate
indexes indexes of sessions, or nullptr for all sessions associated with other parameters
expires logout expiration
sessions on exit, contains the IDs of the matching sessions found

virtual Session* shibsp::SessionCacheEx::find ( const Application application,
const char *  key,
const char *  client_addr = nullptr,
time_t *  timeout = nullptr 
) [pure virtual]

Locates an existing session by ID.

If the client address is supplied, then a check will be performed against the address recorded in the record.

Parameters:
application reference to Application that owns the Session
key session key
client_addr network address of client (if known)
timeout inactivity timeout to enforce (0 for none, nullptr to bypass check/update of last access)
Returns:
pointer to locked Session, or nullptr

virtual void shibsp::SessionCacheEx::remove ( const Application application,
const char *  key 
) [pure virtual]

Deletes an existing session.

Parameters:
application reference to Application that owns the Session
key session key


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