afnix-us-csm(3) | AFNIX Service | afnix-us-csm(3) |
NAME¶
afnix-us-csm - standard collection session management service
STANDARD CONTENT SESSION MANAGEMENT SERVICE¶
The Standard Content Session Management service 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-csm provides the support for manipulating content 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 csm service. 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 CONTENT SESSION MANAGEMENT REFERENCE¶
Part
The Part class 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
Inheritance
Constructors
The Part constructor creates an empty part
The Part constructor creates a part by name.
The Part constructor creates a part by name and info strings.
Methods
The kip-p predicate returns true if the part kid can be validated.
The property-p predicate returns true if the property name argument is defined in the part.
The get-kid method returns the part kid.
The add method adds a property to the part.
The get-header method returns the part header which is a plist with the part name, info and uuid.
The get-plist method returns the part plist.
The get-value method returns the a part property value by name.
The toliteral method returns the a part property literal by name.
Blob
The Blob class 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
Inheritance
Constructors
The Blob constructor creates an empty blob.
The Blob constructor creates a blob by name.
The Blob constructor creates a blob by name and info strings.
The Blob constructor creates a blob by rid, name and info strings.
Methods
The rid-p predicate returns true if the blob registration id is set.
The set-rid method sets the blob rid.
The get-rid method returns the blob rid.
Bloc
The Bloc class is a derived class which encapsulates the functionality of a
blob coupled with a plist and a table of conditionals.
Predicate
Inheritance
Constructors
The Bloc constructor creates an empty bloc.
The Bloc constructor creates a bloc by name.
The Bloc constructor creates a bloc by name and info strings.
The Bloc constructor creates a bloc by rid, name and info strings.
Methods
The add-credential method add a credential to the bloc.
The get-credential method returns a credential object by name.
Carrier
The Carrier class is a blob used to transport an object. The object
transported by the carrier must be serializable.
Predicate
Inheritance
Constructors
The Carrier constructor creates an empty carrier.
The Carrier constructor creates a carrier with an object.
The Carrier constructor creates a carrier with an object by name.
The Carrier constructor creates a carrier with an object by name and info strings.
The Carrier constructor creates a carrier with an object by rid, name and info strings.
Methods
The get-object method returns the carrier object.
Delegate
The Delegate class 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
Inheritance
Constructors
The Delegate constructor creates an empty delegate.
The Delegate constructor creates a delegate with an object.
The Delegate constructor creates a delegate with an object by name.
The Delegate constructor creates a delegate with an object by name and info strings.
The Delegate constructor creates a delegate with an object by rid, name and info strings.
The Delegate constructor creates a delegate with an object by rid, name, info strings and delegation address.
Methods
The set-address method sets the delegate address.
The get-address method returns the delegate address.
Realm
The Realm class 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
Inheritance
Methods
The exists-p predicate checks if an authority exists by kid.
The valid-p predicate validates an authority by name and credential.
The get-info-p method the real information string. Note that the get-name method is also available through the Nameable interface.
The create method creates an authority by name and credential.
The update method updates a workzone by authority.
Session
The Session class 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
Inheritance
Constructors
The Session constructor creates a session by name. The string argument is the session name.
The Session constructor creates a session with a name and a user. The first argument is the session name. The second argument is the session information..
The Session constructor 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
The expire-p predicate returns true if the session has expired.
The set-hash-id method 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.
The get-hash-id method returns the session hash identifier.
The set-path method sets the session path.
The get-path method returns the session path.
The get-max-age method returns the session maximum age.
The set-max-age method 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.
The get-remaining-time method returns the remaining valid session time.
The get-expire-time method returns the session expiration time in seconds. The expiration time is an absolute time.
The set-expire-time method sets the session expiration time. The expiration time is an absolute time in seconds.
The get-creation-time method returns the session creation time. The creation time is an absolute time in seconds.
The get-modification-time method returns the session creation time. The modification time is an absolute time in seconds.
The get-cookie method bakes a session cookie. The string argument is the cookie name those value is the session hash id value.
The close method 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.
The set-visa method set the session visa.
The get-visa method returns the session visa.
2020-12-26 | AFNIX |