CPSUserFolder Design

Revision: $Id$


1   Introduction

CPSUserFolder is a user folder designed to work in conjunction with CPSDirectory (and therefore CPSSchemas). Directories are used to describe what are the attributes of a user (using a schema) and where they are stored (depending on the type of directory). This is also used for roles and groups, so that, for instance, one can easily add additional properties to groups.

2   Configuration

When configuring a CPS User Folder, you have to specify a number of parameters:

During authentication, the password of an entry will be checked using the directory's API to check authenticated entries. Depending on the directory type, this may be a comparison with an clear text field, or (in the case of LDAP for instance) a specific authentication against the directory's backend.

3   Directories

CPSUserFolder uses heavily the MetaDirectory and StackingDirectory of CPSDirectory. These directories provide a unified view of several other directories, and dispatch requests accordingly. They can also convert attribute names.

The main uses of MetaDirectory in CPSUserFolder are:

The main use of StackingDirectory in CPSUserFolder is:

4   Memberdata Tool

In standard CMF, the memberdata tool exists to hold additional information about users that cannot be stored in the user folder. With CPSUserFolder, it's no longer necessary as a MetaDirectory can be used to dispatch some attributes into the standard storage, and additional attributes (login_time, last_login_time, etc.) to another storage.