glpi-dev
[Top][All Lists]
Advanced

[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










reply via email to

[Prev in Thread] Current Thread [Next in Thread]