LiveUser_Admin

LiveUser_Admin class which provides various ways to manage all relevant data used in LiveUser, like users, groups/roles, rights and their relations.

LiveUser_Admin provides the following key features: It can associate data from multiple authentication containers with a single permission container. Using different permission and auth containers, it's easily possible to integrate newly written applications with older ones that have their own ways of storing permissions and user data. Just make a new container type and you're ready to go! Currently available are containers using: PEAR::DB, PEAR::MDB, PEAR::MDB2, ext/PDO. LiveUser_Admin provides the following key features You'll be able to add/edit/delete/get things like:

  • Rights
  • Users
  • Groups
  • Areas
  • Applications
  • Subgroups
  • ImpliedRights

There is also an external wiki dedicated to LiveUser.

At this point LiveUser_Admin is still in beta stage. Even so LiveUser_Admin is already being used on a wide range of production websites. A non exhaustive list can be found here.

The current roadmap for LiveUser_Admin can be viewed here.

A detailed introduction to the core concepts of LiveUser can be found in the following phpmag article: http://web.archive.org/web/20071218224817/http://www.php-mag.net/magphpde/magphpde_article/psecom,id,595,nodeid,21.html

This article was published in april 2004 and is therefore not entirely uptodate. The article also does not mention the SQL generator used in the LiveUser_Admin package. This feature has made the API much more flexible since now the entire storage schema is configurable and extensible. It also means that more or less any sort of filtering can be applied with on demand joining. On overview of this API can be found here: http://wiki.pooteeweet.org/LiveUser/AdminFilters

A more recent article providing a step by step guide to LiveUser and the different permission containers can be found here.

An ER diagram of the database structure can be found here.

The diagram details what tables are needed for what permission complexity level. If you want to prevent the installer from installing tables you don't need you can modify the "tables" property of the instance of the permission container you pass to the generateSchema() method in the installer.

In order to get started with LiveUser the following two articles should help in getting off the ground.

LiveUser_Admin also ship with a wide range of examples. These will be installed into the "docs" directory in your PEAR install directory. They try to illustrate various usage scenarios. The database examples come with a schema file please see the demodata.php in the examples root folder of the LiveUser package for details on how to install these schema files from the command line or from a browser. You will once again need MDB2_Schema to be able to install the schema files.

LiveUser_Admin package:

  • example 1 illustrates various API calls to most methods in the admin API and custom fields
  • example3 illustrates using single authentication sources (database) with permissions (database) and the optional remember me feature in a more real world restricted page access scenario