marliche0
Messages postés66Date d'inscriptionmardi 8 mars 2005StatutMembreDernière intervention30 septembre 2008
-
16 nov. 2005 à 11:47
cs_Crazyht
Messages postés1522Date d'inscriptionmardi 18 décembre 2001StatutMembreDernière intervention21 août 2010
-
16 nov. 2005 à 14:11
Bonjour,
J'utilise un formulaire c# pour m'identifier à l'aide des données de l'active directory sur mes pages Intranet.
J'aimerais proposer à l'utilisateur de modifier son mot de passe.
J'utilise donc cette partie de code:
// Connexion à l'annuaire
DirectoryEntry Ldap = new DirectoryEntry("LDAP://votre-nom-AD", "Login", "Password");
// Nouvel objet pour instancier la recherche
DirectorySearcher searcher = new DirectorySearcher(Ldap);
// On modifie le filtre pour ne chercher que l'user cherché
searcher.Filter = "(SAMAccountName=TEST)";
// Pas de boucle foreach car on ne cherche qu'un user
SearchResult result = searcher.FindOne()
// On récupère l'objet trouvé lors de la recherche
//modif du numero de tel
DirEntry.Properties["TelephoneNumber"].Value = "0123456789";
// On modifie la propriete du password
DirEntry.Properties["nom du champ que je cherche"].Value= "Nouveau password";
// On envoie les changements à Active Directory
DirEntry.CommitChanges();
Mais je ne connait pas le champ pour le mot de passe.
Pouvez-vous m'aider.
Suis-je sur la bonne voie ou bien faut-il que j'utilise set-Password? et comment dois-je faire?
marliche0
Messages postés66Date d'inscriptionmardi 8 mars 2005StatutMembreDernière intervention30 septembre 2008 16 nov. 2005 à 12:36
Cela me donne le message d'erreur suivant:
System.UnauthorizedAccessException: Access is denied.
ASP.NET is not authorized to access the requested resource. Consider granting access rights to the resource to the ASP.NET request identity. ASP.NET has a base process identity (typically {MACHINE}\ASPNET on IIS 5 or Network Service on IIS 6) that is used if the application is not impersonating. If the application is impersonating via , the identity will be the anonymous user (typically IUSR_MACHINENAME) or the authenticated request user.
To grant ASP.NET write access to a file, right-click the file in Explorer, choose "Properties" and select the Security tab. Click "Add" to add the appropriate user or group. Highlight the ASP.NET account, and check the boxes for the desired access.
Source Error:
Line 34: // On modifie la propriété description de l'utilisateur
Line 35: //DirEntry.Properties["Password"].Value = passwordNew.Text;
Line 36: DirEntry.Invoke("SetPassword", new object [] {passwordNew.Text});
Vous n’avez pas trouvé la réponse que vous recherchez ?
Line 42: pwdBin = System.Text.Encoding.Unicode.GetBytes(quotePwd);
Line 43:
Line 44: DirEntry.Properties["unicodePwd"].Value = pwdBin;
Line 45: DirEntry.CommitChanges();
cs_Crazyht
Messages postés1522Date d'inscriptionmardi 18 décembre 2001StatutMembreDernière intervention21 août 20108 16 nov. 2005 à 14:11
Ah oui pardon SetPassword c'est pour la creation d'un compte (ou en mode Admin pour reseter le mode de passe) pour changer son propre password c'est plutot ChangePassword :)