Jump to content

Comment raffraichir le cache ?


Recommended Posts

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 ;)

Link to comment
Share on other sites

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...

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...