";
}
$grrSettings['ldap_statut'] = $_POST['ldap_statut'];
}
}
//Chargement des valeurs de la table settingS
if (!loadSettings())
die("Erreur chargement settings");
if (isset($_POST['submit'])) {
if (isset($_POST['login']) && isset($_POST['password'])) {
$sql = "select upper(login) login, password, prenom, nom, statut from grr_utilisateurs where login = '" . $_POST['login'] . "' and password = md5('" . $_POST['password'] . "') and etat != 'inactif' and statut='administrateur' ";
$res_user = sql_query($sql);
$num_row = sql_count($res_user);
if ($num_row == 1) {
$valid='yes';
} else {
$message = $vocab["wrong_pwd"];
}
}
}
if ((!resumeSession()) and $valid!='yes') {
?>
GRR GRR
".$titre_ldap."";
echo "
Enregistrement de la configuration.
";
if (!$base_ldap) $base_ldap = $base_ldap_autre;
$ds = @ldap_connect("$adresse", "$port");
// On dit qu'on utilise LDAP V3, sinon la V2 par défaut est utilisé et le bind ne passe pas.
if (!(ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3)))
echo "Impossible d'utiliser la norme LDAP V3 \n";
// Accès non anonyme
if ($login_ldap) {
// On tente un bind
$b = @ldap_bind($ds, "$login_ldap", "$pwd_ldap");
}
// On verifie le chemin fourni
$result = @ldap_search($ds, $base_ldap, "objectClass=*");
if ($result) {
$ok = 'yes';
$nom_fic = "config_ldap.inc.php";
if (@file_exists($nom_fic)) @unlink($nom_fic);
$f = @fopen($nom_fic, "wb");
if (!$f) {
$ok = 'no';
} else {
$conn = "<"."?php\n";
$conn .= "# Les quatres lignes suivantes sont à modifier selon votre configuration\n";
$conn .= "# ligne suivante : l'adresse de l'annuaire LDAP.\n";
$conn .= "# Si c'est le même que celui qui heberge les scripts, mettre \"localhost\"\n";
$conn .= "\$ldap_adresse=\"$adresse\";\n";
$conn .= "# ligne suivante : le port utilisé\n";
$conn .= "\$ldap_port=\"$port\";\n";
$conn .= "# ligne suivante : l'identifiant et le mot de passe dans le cas d'un accès non anonyme\n";
$conn .= "\$ldap_login=\"$login_ldap\";\n";
$conn .= "\$ldap_pwd=\"$pwd_ldap\";\n";
$conn .= "# ligne suivante : le chemin d'accès dans l'annuaire\n";
$conn .= "\$ldap_base=\"$base_ldap\";\n";
$conn .= "?".">";
@fputs($f, $conn);
if (!@fclose($f)) $ok='no';
}
if ($ok == 'yes') {
echo "Les données concernant l'accès à l'annuaire LDAP sont maintenant enregistrées dans le fichier \"".$nom_fic."\".";
} else {
echo "
Le fichier \"".$nom_fic."\" n'est pas accessible en écriture.
";
echo "
Vous devez changer les droits sur ce fichier afin de donner le droit d'écriture sur ce fichier puis recharger cette page.
";
}
if ($ok == 'yes') {
echo "";
}
} else {
echo "Problème : Le chemin que vous avez choisi ne semble pas valide. Retournez à la page précédente et vérifiez les informations fournies.";
}
} else if ($etape == 2) {
echo "
".$titre_ldap."
";
echo "
Connexion à l'annuaire LDAP.
";
// Connexion à l'annuaire
$ds = @ldap_connect("$adresse", "$port");
if ($ds) {
$connexion_ok = 'yes';
// On dit qu'on utilise LDAP V3, sinon la V2 par défaut est utilisé et le bind ne passe pas.
if (!(ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3)))
echo "Impossible d'utiliser la norme LDAP V3 \n";
// Accès non anonyme
if ($login_ldap) {
// On tente un bind
$b = @ldap_bind($ds, $login_ldap, $pwd_ldap);
if ($b) {
$connexion_ok = 'yes';
} else {
$connexion_ok = 'no';
}
}
else {
// Accès anonyme
$b = @ldap_bind($ds);
if ($b) {
$connexion_ok = 'yes';
} else {
$connexion_ok = 'no';
}
}
} else {
$connexion_ok = 'no';
}
if ($connexion_ok == 'yes') {
echo "La connexion LDAP a réussi.";
echo "";
} else {
echo "La connexion au serveur LDAP a échoué. ";
echo "Revenez à la page précédente et vérifiez les informations fournies.";
}
} else if ($etape == 1) {
echo "
".$titre_ldap."
";
echo "
Informations de connexion à l'annuaire LDAP.
";
echo "";
} else if ($etape == 0) {
if (!(function_exists("ldap_connect"))) {
echo "
".$titre_ldap."
";
echo "
Attention : les fonctions liées à l'authentification LDAP ne sont pas activées sur votre serveur PHP.
La configuration LDAP est donc actuellement impossible.
";
die();
}
echo "
".$titre_ldap."
";
echo "Si vous avez accès à un annuaire LDAP, vous pouvez configurer GRR afin que cet annuaire soit utilisé pour importer automatiquement des utilisateurs.";
echo "";
} else {
echo "
L'authentification LDAP n'est pas activée.
";
echo "L'authentification LDAP est donc pour le moment impossible. Activez l'authentification LDAP en choisissant le statut qui sera attribué aux personnes présentes
dans l'annuaire LDAP lorsqu'elles se connectent pour la première fois.
Vous pourrez par la suite modifier cette valeur pour chaque utilisateur. ";
echo "Visiteur ";
echo "Usager ";
echo "Ne pas activer ";
echo "