Open Chico0008 opened 2 months ago
Extrait des log apache erreur :
[Tue Oct 01 11:01:36.985952 2024] [php:warn] [pid 80307] [client 10.0.1.57:53818] PHP Warning: Undefined array key "changepwd" in /var/www/grr.informatique/include/session.inc.php on line 671, referer: http://grr.informatique.viry.net/ [Tue Oct 01 11:01:36.998588 2024] [php:warn] [pid 80307] [client 10.0.1.57:53818] PHP Warning: Undefined array key "changepwd" in /var/www/grr.informatique/include/session.inc.php on line 749, referer: http://grr.informatique.viry.net/ [Tue Oct 01 11:01:37.025602 2024] [php:warn] [pid 80307] [client 10.0.1.57:53818] PHP Warning: Undefined variable $page in /var/www/grr.informatique/include/functions.inc.php on line 1529, referer: http://grr.informatique.viry.net/ [Tue Oct 01 11:01:37.047590 2024] [php:warn] [pid 80307] [client 10.0.1.57:53818] PHP Warning: Undefined variable $page in /var/www/grr.informatique/include/functions.inc.php on line 1529, referer: http://grr.informatique.viry.net/
Si je n'active pas le SSO, les utilisateurs arrivent sur une page de login si ils s'authentifient avec leur compte AD, ca fonctionne directement et le user est integralement renseigné en base. mais avec SSO http pour rendre cela transparent, pour les nouveaux utilisateurs ca deconne, alors que les users connu, pas de soucis (mais normal car existent deja en base)
Bonjour, merci pour tous ces détails. Je pense que c'est la fonction VerifNomPrenomUser qui déclenche cette erreur. La variable $page n'est pas définie (pourquoi ? Je ne suis pas en mesure d'effectuer les tests de SSO) et il n'est pas raisonnable de ne pas exclure la page "moncompte", laquelle a été renommée "compte"... Il y a donc deux problèmes à régler :
Si tu as des proposition de correction à tester, je peut le faire de mon coté ayant un SSO fonctionnel coté serveur web. soit tu me fournis le fichier complet, soit les corrections à faire en detail dans le fichier functions.inc.php
Je propose :
Visiblement ca ne suffit pas
code modifié :
function VerifNomPrenomUser($type) { // ne pas prendre en compte la page my_account.php global $desactive_VerifNomPrenomUser; global $page; if (($type == "with_session") && ($desactive_VerifNomPrenomUser != 'y') && (IsAllowedToModifyProfil())) { $test = grr_sql_query1("SELECT login FROM ".TABLE_PREFIX."_utilisateurs WHERE (login = '".getUserName()."' AND (nom='' or prenom = ''))"); if (($test != -1) && ($page != 'compte')) { header("Location: ./compte/compte.php"); die(); } } }
mais apres test, je suis toujours dirigé sur une page /compte/compte/compte.php c'est niveau arbo que ca va pas, y'a un /compte en trop
sauf qu'en prime ce coup ci l'utilisateur n'est plus du tout créer en base (avant y'avait juste le username, sans nom ni prenom ni mail)
Cela ne va pas être beau, mais il faudrait voir quelle est la valeur de $page... en incluant après global $page; la ligne echo $page; die(); par exemple
avec cet ajout apres le global $page; je suis rediriger sur week_all.php?area=1 mais la page est vide.
en base l'utilisateur est crée avec juste login, nom mais sans la casse provenant d'AD, et prenom/mail vide.
C'est bizarre ! Le script devrait s'arrêter et afficher la valeur de $page... à moins qu'elle ne soit vide et alors remplacer echo $page; par vardump($page);
reponse : NULL
Bien, au moins c'est cohérent avec la page vide. Et donc $page n'est pas définie. En revenant au code initial, je propose de remplacer le test ($page != 'moncompte') par (!strstr($_SERVER['PHP_SELF'],'compte.php'))
C'est la bonne :) desormais j'arrive bien sur le formulaire de finalisation de création de l'utilisateur, ou lui sont demandé Nom, Prenom, mail et personnalisation du profil.
Y'aurait pas possibilité d'automatiser ce process en recuperant d'office les infos en provenance du Ldap dans le cas du SSO justement ? surtout qu'on renseigne dans la conf SSO Http les champs a recuperer de l'AD.
Je ne trouve pas la page en version 4.3.6... En version 3.5.1, c'est dans la page de réglage de la connexion LDAP que les attributs sont associés de LDAP vers GRR.
en fait t'a 2 parties T'a la partie LDAP, avec la configuration de la liaison au serveur + les champs sur lequels faire le liens et la partie SSO, ou tu choisis la methode (http, serveur ou autre) ou tu configure aussi les champs sur lequels faire le liens (idéalement les meme que pour Ldap)
OK, j'ai dû faire un zoom arrière car à 100% je ne voyais pas apparaître le menu des connexions externes...
Bonjour J'ai installer un GRR 4.3.6 et configurer ce dernier avec LDAP et SSO HTTP coté serveur j'ai aussi la conf Sso GSSAPI fonctionnel.
Cependant, quand un nouvel utilisateur, inconnu de la BDD arrive, il est redirigé vers la page http://grr.domaine.net/compte/compte/compte.php l'URL devrait etre http://grr.domaine.net/compte/compte.php
Problème uniquement si le SSO http est activé. si desactiver, pas de soucis, mais du coup pas d'authentification automatique :s
Coté admin (compte admin local) je le voit bien crée en base mais partiellement, il a juste son username, le reste des infos n'est pas recupérée.
Infos GRR Version de GRR : 4.3.6 - Release-v4.3.6 Version PHP : 8.3.12 Problème suite à une installation ou mise à jour : nouvelle installation