ASP.NET会员密码到期

前端之家收集整理的这篇文章主要介绍了ASP.NET会员密码到期前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用ASP.NET成员身份验证我的网络应用程序。这对我来说很好。我现在必须实现密码到期。

如果密码已经过期,则用户应该被重定向到ChangePassword屏幕,不应该允许访问应用的任何其他部分而不用更改密码。

有很多aspx页面。如果密码已过期,一个解决方案可能是重定向到每个aspx的ChangePassword屏幕OnInit。是否有任何其他解决方案或建议。

谢谢,
ai

解决方法

再到 csgero’s answer,我发现你不需要在ASP.Net 2.0(3.5)中明确地添加一个这个事件的事件处理程序。

您可以在global.asax中简单地创建以下方法,并将其连接起来:

void Application_PostAuthenticateRequest(object sender,EventArgs e)
{
    if (this.User.Identity.IsAuthenticated)
    {
        // get user
        MembershipUser user = Membership.GetUser();

        // has their password expired?
        if (user != null
            && user.LastPasswordChangedDate.Date.AddDays(90) < DateTime.Now.Date
            && !Request.Path.EndsWith("/Account/ChangePassword.aspx"))
        {
            Server.Transfer("~/ChangePassword.aspx");
        }
    }
}

猜你在找的asp.Net相关文章