Liberator Auth API
7.1.33.251325-ac556235
|
Caplin Liberator is a complete RTTP publishing and subscription management system.
It is designed for clients requiring tens of thousands of concurrent users. It handles both HTTP and RTTP traffic, but features a special high performance publishing engine capable of delivering hundreds of thousands of updates per second from a single server. Caplin Liberator features an advanced push server for streaming real-time data to any RTTP-aware client.
User permissioning and usage monitoring can be carried out in a variety of ways:
using Liberator Auth API (available in C and Java) to write your own Liberator Auth Module for interfacing to a proprietary database or entitlements system.
using the simple built-in file-base authentication, the quickest way to get started with your Caplin Liberator.
Caplin Liberator supports many RTTP data types, including text fields, fixedformat pages and page updates, logical records and news headlines.
Caplin Liberator supports a modular system for handling authentication of users and entitlement of objects. This allows users to be authenticated, objects to have permissions loaded, read and write permissions for a user to be checked and object name mappings to be performed.
A Liberator Auth Module provides a means of modularising the authentication of users and authorisation of access to objects.
Caplin Liberator is equipped with three standard Liberator Auth Modules: openauth, cfgauth and XMLauth. The modules cfgauth and openauth are described in the companion document Caplin Liberator Administrator's Guide, in the chapter Authentication and Entitlement.
The XMLauth module is documented in the document XML Auth Module 3.6 User Guide.
A Liberator Auth Module may implement a simplistic name based permissioning model, or a content based permissiong model. It is possible to implement both models within the same Liberator Auth Module.
If the Liberator Auth Module needs to contact a database to obtain permissioning information, then to not unnecessarily delay the Liberator, it is recommended that event callbacks" are used.
In order to satisfy licence restrictions, it may be necessary to implement user ejection, whereby users can be logged out of the Liberator in order for other users to login.
A Liberator Auth Module may also provide monitoring information to RTTP clients by updating system objects.
There are two main features a Liberator Auth Module must implement:
This is all that is needed to set up and initialise the module. You may need to do some of your own initialisation of resources within the initialisation function. From this point it is left to the functions stored in the function table to handle their various tasks.
This function should be declared as below:
Example:
A basic implementation of a Liberator Auth Module.