Verificar se a senha do Active Directory é diferente do cookie
Eu tenho um aplicativo asp.net que precisa registrar os usuários no Active Directory usando a autenticação de formulários (a autenticação do Windows não é uma opção com os requisitos fornecidos).
Estou salvando cookies de autenticação assim:
if (Membership.ValidateUser(model.UserName, model.Password))
{
FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
}
Isso funciona muito bem, exceto que o cookie autentica o usuário mesmo depois de alterar sua senha do Active Directory.
Existe uma maneira de saber se a senha do usuário mudou?
Estou usando o asp.net MVC3 com o .NET 4
O que eu tentei
Se sentir que este código deve funcionar, no entanto, o HttpWebResponse nunca contém cookies. Não tenho certeza do que estou fazendo de errado.
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;
}