Asp.net mvc ASP.NET MVC ActiveDirectoryMembershipProvider用户即使密码已更改,也会保持登录状态
我正在我的web应用程序中使用ActiveDirectoryMembershipProvider。我使用用户的域凭据进行身份验证,如下所示Asp.net mvc ASP.NET MVC ActiveDirectoryMembershipProvider用户即使密码已更改,也会保持登录状态,asp.net-mvc,active-directory,membership-provider,Asp.net Mvc,Active Directory,Membership Provider,我正在我的web应用程序中使用ActiveDirectoryMembershipProvider。我使用用户的域凭据进行身份验证,如下所示 if (Membership.ValidateUser(m.Username, m.Password)) FormsAuthentication.SetAuthCookie(m.Username, true); 这很有效 但是,即使在active directory中更改了用户的密码,用户仍会保持登录到web应用程序 如果用户的域密码发生更改,或其
if (Membership.ValidateUser(m.Username, m.Password))
FormsAuthentication.SetAuthCookie(m.Username, true);
这很有效
但是,即使在active directory中更改了用户的密码,用户仍会保持登录到web应用程序
如果用户的域密码发生更改,或其帐户被禁用等,我如何确保用户不会一直登录到web应用程序?我不是100%确定,但听起来您不高兴用户的身份验证票证继续工作,即使他们的密码更改/帐户过期 一旦用户登录并拥有身份验证票证(cookie),直到票证过期(在web.config文件中设置)之前,用户不会再次接受身份验证挑战。以下是处理此问题的两条建议:
我不是百分之百确定,但听起来你不高兴用户的身份验证票证继续工作,即使他们的密码更改/帐户过期 一旦用户登录并拥有身份验证票证(cookie),直到票证过期(在web.config文件中设置)之前,用户不会再次接受身份验证挑战。以下是处理此问题的两条建议:
答案是定期(每隔30分钟左右)检查User.IsApproved和User.LastPasswordChangedDate,以确保用户凭据仍然有效 为此,您需要手动创建FormsAuthenticationTicket和cookie,而不是使用FormsAuthentication.SetAuthCookie 将验证用户的日期放入UserData中,并将其与LastPasswordChangedDate进行比较 我已经实现了这一点,它工作得非常完美 更多信息请点击此处
答案是定期(每隔30分钟左右)检查User.IsApproved和User.LastPasswordChangedDate,以确保用户凭据仍然有效 为此,您需要手动创建FormsAuthenticationTicket和cookie,而不是使用FormsAuthentication.SetAuthCookie 将验证用户的日期放入UserData中,并将其与LastPasswordChangedDate进行比较 我已经实现了这一点,它工作得非常完美 更多信息请点击此处