Hom*_*mam 10 c# asp.net redirect login change-password
我想强制用户在首次登录后更改密码.现在,我应该在哪里将重定向代码放到ChangePassword页面?
Page_Load默认页面中,用户可以移动到任何页面,因为他是经过身份验证的.如果我把它放在Page_LoadMaster页面中,ChangePassword页面使用相同的母版页,它将进入无限循环的重定向.
我虽然忽略了重定向,如果它Page是Master页面中的ChagePassword页面,我发现这个答案说:
这听起来像个坏主意.主人的想法是它不应该关心哪个页面,因为这是每个页面的所有常用代码.
任何建议!
在这里,你是一个经过全面测试的解决方案
protected void LoginButton_Click(object sender, EventArgs e)
{
/****note: UserName and Password are textbox fields****/
if (Membership.ValidateUser(UserName.Text, Password.Text))
{
MembershipUser user = Membership.GetUser(UserName.Text);
if (user == null)
{
FailureText.Text = "Invalid username. Please try again.";
return;
}
if (user.IsLockedOut)
user.UnlockUser();
/* this is the interesting part for you */
if (user.LastPasswordChangedDate == user.CreationDate) //if true, that means user never changed their password before
{
//TODO: add your change password logic here
}
}
}
Run Code Online (Sandbox Code Playgroud)