Bonjour
Je suis conscient que c'est un serpent de mer, un sujet qui traine depuis des années semble t-il. Mais j'ai décidé de m'y attaquer. Dans le logiciel libre, la règle, c'est «tu veux un truc, crée le !»
Il faudrait quoi pour coupler l'authentification actuelle et un annuaire ldap ?
Si je prends mon exemple actuel, j'ai deux admins sur le système piwigo : moi-même et ma femme, et un accès anonyme pour le commun des mortels. Je veux garder la même chose sauf que le mot de passe de moi et de ma femme ce soit le mot de passe du ldap (qui est le même que celui du système unix).
Donc on a besoin de quoi pour implémenter ça ?
une première lecture
http://www.blogoflip.fr/v2/index.php?ar … uaire-ldap
Hors ligne
Alors en fait, le gars qui a fait un commentaire sur ce sujet, c'est moi...
J'en suis au même point donc. Mais encore plus motivé...
Je m'en vais lire la doc des plugins.
22decembre a écrit:
Alors en fait, le gars qui a fait un commentaire sur ce sujet, c'est moi...
J'en suis au même point donc. Mais encore plus motivé...
Je m'en vais lire la doc des plugins.
je ne vois pas le commentaire, est ce que tu peux redire ou tu en es ?
Hors ligne
Ah, ouais... Le commentaire a été "modéré" ... mdr.
Bah là, je viens de reperer dans le code de mon install de piwigo la fonction try_log_user qu'il va me falloir modifier à la marge pour permettre le ldap tout en ne touchant absolument rien du reste...
22decembre a écrit:
Ah, ouais... Le commentaire a été "modéré" ... mdr.
dsl pour ton commentaire, il faut voir avec flipflip c'est son site je t'ai donner le lien que pour essayer de t'aider
Si tu as une solution n'hésite pas à la partager ;-)
Hors ligne
Je ne suis pas amer. Flipflip a modéré. Point. Il a ses raisons, et c'est pas grave.
Quand j'aurais fabriqué quelque chose de correct, je reviendrais.
à plus (là, il est tard - surtout vu mes horaires - donc j'arrete.)
J'ai déjà une fonction correcte et "assez" bien construite. La meilleure preuve, c'est que ça marche !
Je vais m'efforcer de construire un module d'admin acceptable (gestion des deux ou trois paramètres et enregistrement de ceux-ci dans un fichier dat comme dit dans la doc).
Mon soucis, c'est "comment introduire le plugin correctement dans piwigo".
Si je fais un plugin, que je le mets dans son dossier... Comment le systeme repère t-il qu'il faut lui faire appel ?
Si tu fait un plugin quand il est activé le fichier main.inc.php est lu
Hors ligne
Bonjour
Cela fait un moment que je n'ai pas écris ici...
Mais, là, j'ai du temps ! Donc j'essaye de bosser à mon petit plugin.
De ce que j'en comprends de la doc, il me faut un trigger_event dans la fonction native que je veux remplacer...
Non ? Que faire si ce trigger, je ne l'ai pas ?
Bonsoir,
Dites-nous en plus sur la portion de code concernée ;-)
Hors ligne
Alors en fait, il s'agit de "remplacer" la fonction try_log_user. Elle se trouve dans le fichier functions_user.inc.php du repertoire include.
/**
* Tries to login a user given username and password (must be MySql escaped)
* return true on success
*/
function try_log_user($username, $password, $remember_me)
{
// we force the session table to be clean
pwg_session_gc();
global $conf;
// retrieving the encrypted password of the login submitted
$query = '
SELECT '.$conf['user_fields']['id'].' AS id,
'.$conf['user_fields']['password'].' AS password
FROM '.USERS_TABLE.'
WHERE '.$conf['user_fields']['username'].' = \''.pwg_db_real_escape_string($username).'\'
;';
$row = pwg_db_fetch_assoc(pwg_query($query));
if ($row['password'] == $conf['pass_convert']($password))
{
log_user($row['id'], $remember_me);
trigger_action('login_success', stripslashes($username));
return true;
}
trigger_action('login_failure', stripslashes($username));
return false;
}
Cette fonction assume le role de verifier le mot de passe fourni par l'utilisateur (verif par comparaison avec celui stocké dans la base de données).
Je souhaite écrire la même fonction, avec une verif sur ldap (c'est fait). Elle prend les mêmes arguments et renvoie les mêmes résultats, elle peut donc être transparente pour le système... sous réserve que celui-ci comprenne à l'interieur qu'il faut utiliser le plugin !
Dernière modification par 22decembre (2012-06-21 20:52:53)
Hors ligne
Je sais que la vie est dure et que nous avons tous du boulot... (d'ailleurs, qu'est-ce que je fous là ?)... Mais est-ce que ça avance ?
Accessoirement, est-ce que je pourrais aider ?
Hors ligne
22decembre a écrit:
Accessoirement, est-ce que je pourrais aider ?
oui bien sur :-)
Hors ligne