Sprawdź, czy hasło Active Directory różni się od hasła cookie
Mam aplikację asp.net, która musi logować użytkowników do usługi Active Directory przy użyciu uwierzytelniania formularzy (uwierzytelnianie systemu Windows nie jest opcją z podanymi wymaganiami).
Zapisuję takie pliki cookie uwierzytelniania, jak:
if (Membership.ValidateUser(model.UserName, model.Password))
{
FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
}
Działa to doskonale, z wyjątkiem tego, że plik cookie uwierzytelnia użytkownika nawet po zmianie hasła Active Directory.
Czy istnieje sposób na określenie, czy hasło użytkownika uległo zmianie?
Używam asp.net MVC3 z .NET 4
Co próbowałem
Jeśli czujesz, że ten kod powinien działać, jednak HttpWebResponse nigdy nie zawiera żadnych plików cookie. Nie do końca wiem, co robię źle.
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Request.Url);
request.CookieContainer = new CookieContainer();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Cookie authCookie = response.Cookies["AuthCookie"];
if (authCookie.TimeStamp.CompareTo(Membership.GetUser().LastPasswordChangedDate) < 0)
{
authCookie.Expired = true;
}