Provided by: afnix_2.9.2-2build1_amd64
NAME
csm - standard chaos session management service
STANDARD CLOUD SESSION MANAGEMENT SERVICE
The Standard Cloud Session Managementservice is an original implementation of various objects dedicated to the management of sessions, realms, identities and more generaly with data concentration in the form of binary blobs. General concepts The afnix-csmprovides the support for manipulating cloud session in an ecclectic form. There are multiple types of objects which can broadly be categorized into general data management in the form of data blobs, identity and credential management and finally session management. Blob The concept of blo=b is central in the csmservice. A blob is a registrable part. A part is an abstract taggable object uniquely identified by a uuid. The blob adds a registration identification, which enables them to be group into domains.
STANDARD CLOUD SESSION MANAGEMENT REFERENCE
Part The Partclass is a taggable object which is bound by a unique key and provide a plist interface access. The part object is the foundation of the blob object and is also used to feed a collection. The key is represented by a uuid object. Predicate part-p Inheritance Taggable Constructors Part (none) The Partconstructor creates an empty part Part (String) The Partconstructor creates a part by name. Part (String String) The Partconstructor creates a part by name and info strings. Methods kid-p -> Boolean (String) The kip-ppredicate returns true if the part kid can be validated. property-p -> Boolean (String) The property-ppredicate returns true if the property name argument is defined in the part. get-kid -> Uuid (none) The get-kidmethod returns the part kid. add -> none (String Literal) The addmethod adds a property to the part. get-header -> Plist (none) The get-headermethod returns the part header which is a plist with the part name, info and uuid. get-plist -> Plist (none) The get-plistmethod returns the part plist. get-value -> String (String) The get-valuemethod returns the a part property value by name. to-lteral -> Literal (String) The toliteralmethod returns the a part property literal by name. Blob The Blobclass is a base class that models the behavior of a registered blob through the use of a registration id. The blob is registered as soon as its registration id is set. If the registration id is unset, the object is unregistered or anonymous. The registration id can be anything as long as as it is understood by the implementation that such registration is to be interpreted somewhere else. The blob is also a part which means that it has a name, info and unique key. Predicate blob-p Inheritance Part Constructors Blob (none) The Blobconstructor creates an empty blob. Blob (String) The Blobconstructor creates a blob by name. Blob (String String) The Blobconstructor creates a blob by name and info strings. Blob (String String String) The Blobconstructor creates a blob by rid, name and info strings. Methods rid-p -> Boolean (none) The rid-ppredicate returns true if the blob registration id is set. set-rid -> none (String) The set-ridmethod sets the blob rid. get-rid -> String (none) The get-ridmethod returns the blob rid. Bloc The Blocclass is a derived class which encapsulates the functionality of a blob coupled with a plist and a table of conditionals. Predicate bloc-p Inheritance Blob Constructors Bloc (none) The Blocconstructor creates an empty bloc. Bloc (String) The Blocconstructor creates a bloc by name. Bloc (String String) The Blocconstructor creates a bloc by name and info strings. Bloc (String String String) The Blocconstructor creates a bloc by rid, name and info strings. Methods add-credential -> none (Credential) The add-credentialmethod add a credential to the bloc. get-credential -> Credential (String) The get-credentialmethod returns a credential object by name. Carrier The Carrierclass is a blob used to transport an object. The object transported by the carrier must be serializable. Predicate carrier-p Inheritance Blob Constructors Carrier (none) The Carrierconstructor creates an empty carrier. Carrier (Object) The Carrierconstructor creates a carrier with an object. Carrier (Object String) The Carrierconstructor creates a carrier with an object by name. Carrier (Object String String) The Carrierconstructor creates a carrier with an object by name and info strings. Carrier (Carrier String String String) The Carrierconstructor creates a carrier with an object by rid, name and info strings. Methods get-object -> Object (none) The get-objectmethod returns the carrier object. Delegate The Delegateclass is a carrier blob which delegates its transport to another object. Such approach is used when the carried object needs to remains locally (aka it cannot be serialized) but a reference to it can be sent to the remote peer. Predicate delegate-p Inheritance Carrier Constructors Delegate (none) The Delegateconstructor creates an empty delegate. Delegate (Object) The Delegateconstructor creates a delegate with an object. Delegate (Object String) The Delegateconstructor creates a delegate with an object by name. Delegate (Object String String) The Delegateconstructor creates a delegate with an object by name and info strings. Delegate (Delegate String String String) The Delegateconstructor creates a delegate with an object by rid, name and info strings. Delegate (Delegate String String String String) The Delegateconstructor creates a delegate with an object by rid, name, info strings and delegation address. Methods set-address -> none (String) The set-addressmethod sets the delegate address. get-address -> String (none) The get-addressmethod returns the delegate address. Realm The Realmclass is an abstract class design for the storage and management of authorities. The class provides the basic methods to create, check and validate an authority. Predicate realm-p Inheritance Nameable Methods exists-p -> Boolean (String) The exists-ppredicate checks if an authority exists by kid. valid-p -> Boolean (String Credential) The valid-ppredicate validates an authority by name and credential. get-info -> String (none) The get-info-pmethod the real information string. Note that the get-namemethod is also available through the Nameableinterface. create -> none (String Credential) The createmethod creates an authority by name and credential. update -> none (Authority) The updatemethod updates a workzone by authority. Session The Sessionclass is a class that defines a session to be associated with a transaction. The session object is designed to be persistent so that its data information can be retreived at any time. A session object has also the particularity to have a limited lifetime. A session object is created by name with an identifier. The session object is designed to hold a variety of parameters that are suitable for both the authentication and the session lifetime. A session is primarily defined by name with an optional information string. The session is generally associated an authentication visa which contains the session identity. The visa provides a secure mechanism compatible with a single sign on session. A session key is automatically generated when the session is created. Such key is used to generate a session hash id which can be used as a cookie value. The cookie name is also stored in the session object. When a cookie is generated, the session hash name is combined with the session hash id for the cookie production. Predicate session-p Inheritance Taggable Constructors Session (String) The Sessionconstructor creates a session by name. The string argument is the session name. Session (String String) The Sessionconstructor creates a session with a name and a user. The first argument is the session name. The second argument is the session information.. Session (String String Integer) The Sessionconstructor creates a session with a name, a user and a maximum age. The first argument is the session name. The second argument is the session informartion. The third argument is the session maximum age expressed in seconds. Methods expire-p -> Boolean (none) The expire-ppredicate returns true if the session has expired. set-hash-id -> none (String) The set-hash-idmethod sets the session hash identifier. The session hash id must be unique and secured enough so that the session name cannot be derived from it. get-hash-id -> String (none) The get-hash-idmethod returns the session hash identifier. set-path -> none (String) The set-pathmethod sets the session path. get-path -> String (none) The get-pathmethod returns the session path. get-max-age -> Integer (none) The get-max-agemethod returns the session maximum age. set-max-age -> none (Integer) The set-max-agemethod sets the session maximum age. The maximum age is an integer in seconds relative to the current time. If the maximum age is set to 0, the session is closed. get-remaining-time -> Integer (none) The get-remaining-timemethod returns the remaining valid session time. get-expire-time -> Integer (none) The get-expire-timemethod returns the session expiration time in seconds. The expiration time is an absolute time. set-expire-time -> none (Integer) The set-expire-timemethod sets the session expiration time. The expiration time is an absolute time in seconds. get-creation-time -> Integer (none) The get-creation-timemethod returns the session creation time. The creation time is an absolute time in seconds. get-modification-time -> Integer (none) The get-modification-timemethod returns the session creation time. The modification time is an absolute time in seconds. get-cookie -> Cookie (name) The get-cookiemethod bakes a session cookie. The string argument is the cookie name those value is the session hash id value. close -> Cookie (name) The closemethod close a session by reseting the session maximum age to 0. The method returns a cookie that can be used for closing the session on the peer side. The string argument is the cookie name those value is the session hash id value. set-visa -> None (Visa) The set-visamethod set the session visa. get-visa -> Visa (None) The get-visamethod returns the session visa.