尝试从Page_Load事件触发/调用OnLoggedIn事件

时间:2015-04-24 22:42:24

标签: c# asp.net authentication asp.net-membership login-control

我正在网站中实现ASP.NET用户成员身份验证。 我正在使用ASP.NET的控件

  • 验证用户,
  • 注册新用户
  • 更改密码以更改已验证用户的密码。

我的功能是:

  • 在“注册”页面上,我将用户名和电子邮件作为输入,并将AutoGeneratePassword属性设置为true
  • 成功注册系统会向该用户发送一封电子邮件中的网址(如http://localhost:xxxx/Login.aspx?user=abc10&pwd=something)。

我的问题是,当用户点击上面的链接时,他应该被自动重定向以更改密码页面来更改密码。 因此,对于重定向,我尝试在OnLoggedIn中调用page_Load事件。

我在page_Load事件中尝试了以下来电。

  1. Login1_LoggedIn(sender.GetType(), null)
  2. login.LoggedIn += new EventHandler(Login1_LoggedIn)
  3. 但事件没有解雇,有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

最后我想出来了。因为我必须解决两个场景, I.用户应该能够从登录页面登录。 II。当用户点击他们在电子邮件中收到的链接时,用户应该能够在登录后重定向到下一页。

所以第一点非常直接。

对于第二点,我创建了一个方法,该方法具有对用户进行身份验证的所有代码逻辑。并在page_load()事件和OnLoggedIn事件中调用此方法。

在页面加载中,我在下面编写代码来模拟登录事件,将用户直接重定向到下一页。

protected void Page_Load(object sender,EventArgs e)
{
string username = usernameTextbox.Text.Trim();
**FormsAuthentication.SetAuthCookie(username, true);**
callLogin();// this method where in my user authentication logic resides
}