Introduction
LiveUser en bref...
Qu'est-ce que c'est?
PEAR::LiveUser est une couche qui a pour but de faciliter l'authentification et la gestion des permissions.
Le paquet PEAR::Liveuser_Admin vous aidera à gérer les utilisateurs, les groupes et les droits.
L'authentification est le processus d'identification d'un individu, basée sur le nom de l'utilisateur et un mot de passe. Le processus d'authentification vous aide à savoir qui est connecté à votre système.
Ceci est différent des permissions (ou autorisations) consistant en un droit d'accéder à un système ou une aire fonctionelle d'un système. Ceci garantit que, par exemple, seules les personnes autorisées peuvent accéder à un système comptable et voir les factures clients.
Pourquoi LiveUser?
Bien que LiveUser soit encore en version beta, il est suffisament stable pour être utilisé en production.
Comme beaucoup d'autres, nous avons manqué de documentation. Cela nous a pris pas mal de temps de pouvoir entrer dans LiveUser. Comme nous en comprenons maintenant suffisament pour que nos exigences soient satisfaites, nous vous proposons de partager notre expérience avec vous.
Vos commentaires sont les bienvenus. N'hésitez pas à nous en faire part en nous envoyant un message.
Si vous avez seulement besoin de la fonction d'authentification, sans la gestion des permissions, vous pouvez envisager d'utiliser PEAR::Auth comme système d'authentification. C'est facile à implémenter et fonctionne bien.
Où trouver LiveUser?
Le premier point de référence est le site PEAR.
Vous pouvez trouver une aide plus détaillée en visitant le forum PEAR. Bien que la plupart des messages soient en allemand, vous pouvez vous exprimer en anglais ou utiliser l'outil de traduction inclus. Les personnes du forum répondent rapidement et sont réellement très sympa.
Vous trouverez aussi des informations sur le Wiki LiveUser. Il y a là un bon point de référence et quelques schémas de bases de données intéressants.
L'autre côté de la scène
LiveUser vous permet d'utiliser plusieurs bases de données comme source d'information. Ceci peut être utile si vous avez les membres du personnel de votre propre société stockés dans une banque de données et vos clients stockés dans une autre, alors qu'ils ont tous besoin de se connecter au même système.
Notez aussi que LiveUser supporte différentes sources d'authentification telles que XML ou des bases de données. Consultez la documentation originale pour obtenir une liste exhaustive. Nous allons examiner un lien vers une base de données mySQL au travers de deux conteneurs (containers) différents (PEAR::DB et PEAR::MDB2).
Concepts de LiveUser
Commençons avec un exemple qui illustrera les quelques fonctions de LiveUser.
Örjan Persson a mis à disposition, sur Wiki, une illustration des éléments de LiveUser:
- les applications
- les aires fonctionnelles (area)
- les droits
- les groupes et sous-groupes
- les utilisateurs
Les applications sont divisées en aires fonctionnelles (areas), comme par exemple la gestion des commandes, la gestion des nouvelles, etc...
Chaque aire fonctionnelle peut se voir attribuer des droits d'accès propres. Exemple: la gestion des commandes peut avoir des droits d'accès restreints de telle sorte que toutes les personnes ne puissent voir la liste des commandes en cours. Les personnes qui gèrent effectivement les commandes peuvent se voir attribuer tous les accès à ce secteur. Les patrons peuvent voir les commandes, mais pas les modifier.
Le fait d'avoir certains droits d'accès peut impliquer l'obtention automatique d'autres droits (exemple: l'utilisateur qui peut modifier une information pourra probablement la consulter aussi).
Les utilisateurs peuvent être membres d'un sous-groupe, eux-même organisés en groupes imbriqués.
Les utilisateurs peuvent se voir accorder un droit particulier directement ou au travers de (sous)groupes.
LiveUser Tables
Ces éléments LiveUser sont matérialisés par une série de tables dans une base de données:
- liveuser_applications
- liveuser_areas
- liveuser_area_admin_areas
- liveuser_rights
- liveuser_grouprights
- liveuser_right_implied
- liveuser_group_subgroups
- liveuser_groups
- liveuser_groupusers
- liveuser_userrights
- liveuser_perm_users
- liveuser_users
- liveuser_translations




