NiTrOuS Posté(e) le 3 février 2006 Partager Posté(e) le 3 février 2006 Bonjour, voilà mon problème: j'ai fait une page en ASP.NET qui permet de changer son mot de passe dans l'active directory. Ma fonction marche comme je le veux, le changement de mot de passe se fait correctement. Pour accéder à cette page, je crée une connection à l'active directory avec le login et le password de l utilisateur qui veut changer son mot de passe. Donc, une fois qu'il est changé, je le délogue de ma page et je lui demande de se reloguer avec son nouveau mot de passe et ca fonctionne. Le probleme, c est que dans l ordinateur, pour rentrer en session donc, l utilisateur ne peut utiliser que son ancien mot de passe car le nouveau est incorrect ... alors que dans l active directory il est changé !!! Donc, a mon avis, c est un probleme de cache de la machine. Parce que le cache de l active directory, j execute un cacherefresh dessus donc pas de probleme. Mais je ne sais pas comment faire pour raffraichir le cache de la machine. Je met mon bout de code pour raffraichir le cache de l'AD: Try Dim searcher As DirectorySearcher Dim result As SearchResult Dim path As String = "LDAP://***" Dim DirEntry As DirectoryEntry = New DirectoryEntry(path, username, password) DirEntry.UsePropertyCache = False searcher = New DirectorySearcher(DirEntry) searcher.Filter = "(SAMAccountName=" & username & ")" result = searcher.FindOne() DirEntry = result.GetDirectoryEntry DirEntry.NativeObject.ChangePassword(password, newpassword) DirEntry.CommitChanges() DirEntry.RefreshCache() Session("USERNAME") = "" ChangementMdp = True HttpContext.Current.Response.Write(index.Redirect("index.aspx", 0)) Catch e As Exception System.Diagnostics.Debug.WriteLine("Erreur lors du changement de mot de passe: ") System.Diagnostics.Debug.WriteLine(e) Session("USERNAME") = "" ChangementMdp = False End Try Edit: merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
NiTrOuS Posté(e) le 6 février 2006 Auteur Partager Posté(e) le 6 février 2006 UP Lien vers le commentaire Partager sur d’autres sites More sharing options...
gvosnet Posté(e) le 6 février 2006 Partager Posté(e) le 6 février 2006 Hello, Je ne sais pas si c'est pareil en ASP.NET, mais en ASP, le fait de mettre un "Expires=-1" au début du code ASP fait expirer la page à hier (bref, au prochain rafraichissement, elle sera déjà considérée comme expirée). En espérant ne pas être hors-sujet... Lien vers le commentaire Partager sur d’autres sites More sharing options...
NiTrOuS Posté(e) le 6 février 2006 Auteur Partager Posté(e) le 6 février 2006 C'est le cache du pc que je veux mettre à jour ... Merci quand meme Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.