[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Glpi-dev] Première contribution
From: |
baaZ |
Subject: |
Re: [Glpi-dev] Première contribution |
Date: |
Wed, 04 Feb 2004 00:49:15 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.6b) Gecko/20031207 Thunderbird/0.4 |
address@hidden a écrit :
Bonjour à tous,
désirant contribuer au projet de manière importante, voici en fichier attaché
une première évolution.
Celle-ci porte sur l'utilisation de sources d'information alternatives
pour le login des utilisateurs. L'utilisation de serveurs de mails permet
ainsi de ne plus avoir à entrer manuellement les utilisateurs. Toutes les
personnes possédant un compte mail sont alors ajoutés automatiquement dans
la base en post-only à leur première connexion.
On a trouvé un peu de temps pour regarder ça entre hier et aujourd'hui.
On vient d'implementer ça dans les sources du CVS.
Quelques modifs ont été faites a partir de la contribution de Julien Dombre.
Tous les changements apparaissent dans le changelog.txt, neanmoins je
vous explique vite fait comment c'est implémenté.
Une nouvelle classe Identification est apparue dans le fichier
/glpi/glpi/common/classes.php
Cette classe regroupe l'ensemble des methodes possibles pour une
connection (dans le sens identification d'un user).
Le fichier login.php se trouve pour le coup completement changé etant
donné que ses interaction avec la bdd ou des sources exterieures se font
desormais via la classe Ientification.
Actuellement les sources externes supportées sont tout ce qui peux se
faire via un imap_open en php c'est a dire imap, pop3, imapssl et nntp.
Il est possible que l'on puisse ensuite attaquer aussi un annuaire LDAP
ou du kerberos... faut que je me penche plus sur ces points la.
Le fichier config.php change aussi il ya une nouvelle variable
$cfg_login['use_external'] :
Deux possibilitées :
- cette variable est a 0, le systeme n'utilisera pas de sources
exterieures pour identifier les utilisateurs se connectant.
- cette variable est a 1, le systeme utilisera les sources exterieures
decrites plus bas dans le fichier config.php pour identifier les
utilisateurs se connectants a la base de donnée.
Comme cela l'etait dans le fichier originel de Julien Dombre le systeme
essaye les sources une a une jusqu'a ce qu'un login soit valide. Si le
login est valide il verifie que l'utilisateur est bien dans la base de
donnée si ce n'est pas le cas il l'ajoute ou met a jour son profil
(selon le cas).
Si aucun login n'est valide sur les sources exterieures, le systeme
essaye sur la bdd.
Le sources exterieures sont decrites dans les variables :
$cfg_login['imap']['auth_server'] dans laquelle on met l'host que l'on veux.
et
$cfg_login['imap']['host'] dans laquelle l'on met le nom de l'host.
Actuellement pour ajouter/retirer d'autres sources il est necessaire de
modifier aussi le fichier login.php...
(c'est bien documenté et assez facile en lisant les commentaires)
Mais je pense qu'a terme l'on trouvera une solution nous permettant
d'ajouter retirer des sources en ne touchant qu'au fichier config.php
(ce qui semble beaucoup plus logique).
Ceci etant dit, je vous invite a checkout votre cvs et à tester et nous
renvoyer vos suggestions, rapports de bugs etc...
Merci encore a Julien Dombre pour cette contribution.
--
Bazile
- Re: [Glpi-dev] Première contribution,
baaZ <=