我正在使用 ASP.NET 成员资格来验证我的 Web 应用程序。这对我来说非常有用。我现在必须实现密码过期。
如果密码已过期,用户应被重定向到ChangePassword
屏幕,并且在不更改密码的情况下不应允许访问应用程序的任何其他部分。
有很多aspx页面。一种解决方案可能是重定向到ChangePassword
screen OnInit
如果密码已过期,则每个 aspx 的。有没有其他的解决办法或者建议。
谢谢,
贾伊
进一步csgero的回答 https://stackoverflow.com/questions/349286/asp-net-membership-password-expiration/349687#349687,我发现在 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");
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)