Bonsoir,
Je voulais savoir s'il était facilement possible de faire en sorte que l'authentification des utilisateurs se fasse avec l'adresse email, plutôt qu'avec le nom d'utilisateur, mais que ce soit le nom d'utilisateur qui soit affiché une fois connecté.
J'ai fait un test en modifiant la variable $conf['user_fields'], mais ce n'est plus l'identifiant qui s'affiche une fois connecté.
Cette question a peut-être déjà été posée, mais je n'ai pas réussi à affiner ma recherche sur le forum pour retrouver le post s'il existe.
Merci pour votre aide ;)
Version de Piwigo: 2.9.3
Version de PHP: 7.0
Version de MariaDB: 10.1.26
URL Piwigo: http://galerie.prugnieres.fr
Hors ligne
Bonjour
il faut faire un plugin custom qui intercepte les données lors du login et qui va chercher l'identifiant associé à l'email donné pour permettre le login classique
voici le squelette :
add_event_handler('init', 'id_email');
function id_email()
{
global $user;
if (isset($_POST['login']))
{
// todo requete pour cherche l'identifiant associé
$_POST['login']=$resultat_de_la_requete;
}
}
Dernière modification par flop25 (2018-06-28 12:47:01)
Hors ligne
flop25 a écrit:
Bonjour
il faut faire un plugin custom qui intercepte les données lors du login et qui va chercher l'identifiant associé à l'email donné pour permettre le login classique
voici le squelette :
add_event_handler('init', 'id_email');
function id_email()
{
global $user;
if (isset($_POST['login']))
{
// todo requete pour cherche l'identifiant associé
$_POST['login']=$resultat_de_la_requete;
}
}
Merci beaucoup pour cette réponse. Je vais tenter d'ingérer ce que vous m'expliquez et de l'appliquer. Je vous tiens au courant ;)
Hors ligne
Hello,
Ca y est, j'ai modifié ce que vous m'avez fourni comme squelette. C'est parfait. Ca fonctionne. Je le poste ci-dessous, peut-être que ça pourrait être utile à quelqu'un, ou je pourrais peut-être en faire un plugin ?
D'un point de vue sécurité je ne sais pas si j'ai ouvert des brèches par contre ...
Merci encore flop25 !
add_event_handler('init', 'id_email'); function id_email() { global $user; // Le bouton "Connexion" a été pressé if (isset($_POST['login'])) { // Le champ identifiant est rempli if (isset($_POST['username'])) { $ident = $_POST['username']; // Le champ identifiant contient une adresse mail if (email_check_format($ident)) { // Récupération de l'user_id. $my_user_id = get_userid_by_email($ident); // Récupération de l'username associé $my_user_datas = getuserdata($my_user_id); // Remplacement de l'adresse mail par le username $_POST['username'] = $my_user_datas['username']; } } } }
Hors ligne
C'est magnifique Bravo !!
Vous avez utilisez tout ce qu'il faut Pas de soucis de sécurité à mon humble avis
Hors ligne
Bonjour,
Voilà une fonctionnalité très intéressante que je serai heureux de voir comme plugin, ou mieux… directement intégrer à piwigo. :)
Merci.
Hors ligne