Bonjour,
Je cherche un moyen de changer le mot de passe de comptes utilisateurs par une page ASP ou PHP. (donc depuis un poste pas dans le domaine etc, vraiment comme un invité)
Il faudrait trouver le moyen de forcer la connection ldap en administrateur.
De plus, il faudrait tester l'ancien mot de passe et mettre à jour le mdp avec le nouveau si l'ancien est bon.
Un copain à fait cela :
Code :
- <?php
- /*Pour activer le compte
- $ADSI = new COM("LDAP:" );
- $server="127.0.0.1"
- $admin_username="login";
- $admin_password = "pass";
- $user_dn = 'OU=XXX,DC=XXX,DC=com';
- $user = $ADSI->OpenDSObject("LDAP://".$server."/".$user_dn, $admin_username, $admin_password, 1);
- $user->AccountDisabled = false;
- $user->SetInfo();
- unset ($user);
- unset ($ADSI);
- */
- // Pour définir le mot de passe
- echo "<html><body>";
- echo "<center> <h2> Interface de gestion de l'utilisateur </h2> </center>";
- echo "<form method=\"post\" action=\"$_SERVER[PHP_SELF]\" >";
- echo "<table>";
- echo "<tr><td> Tapez votre nom </td><td> <input type=\"text\" name=\"nom\"/> </td></tr> ";
- echo "<tr><td> Tapez votre prénom </td><td> <input type=\"text\" name=\"prenom\"/> </td></tr> ";
- echo "<tr><td> Tapez votre nouveau mot de passe </td><td> <input type=\"text\" name=\"pass\"/> </td></tr> ";
- echo "<tr><td> <input type=\"submit\" value=\"Valider\" > </td></tr>";
- echo "</table><br/>";
- echo "</form> ";
- if (isset($_POST["nom"]) && isset($_POST["prenom"]) && isset($_POST["pass"]))
- {
- $nom = $_POST["nom"];
- $prenom = $_POST["prenom"];
- $user_password = $_POST["pass"];
- $ADSI = new COM("LDAP:" );
- $server="127.0.0.1";
- $admin_username="login admin";
- $admin_password = "Pass";
- $user_dn = "CN=$nom $prenom,OU=XXX,DC=XXX,DC=com";
- $user = $ADSI->OpenDSObject("LDAP://".$server."/".$user_dn, $admin_username, $admin_password, 1);
- $user->SetPassword($user_password);
- $user->SetInfo();
- unset ($user);
- unset ($ADSI);
- echo "Utilisateur $nom $prenom est à jour";
- }
- echo "</html></body>";
- ?>
|
Mais message d'erreur :
Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Unknown<br/><b>Description:</b> Unknown' in C:\wamp\www\password\index.php:37 Stack trace: #0 C:\wamp\www\password\index.php(37): com->OpenDSObject('LDAP://127.0.0....', 'login@...', 'Pass', 1) #1 {main} thrown in C:\wamp\www\password\index.php on line 37
Est-ce que quelqu'un à une idée ?
Merci
Message édité par canigou4 le 19-08-2008 à 15:54:19