我有一个网站,用户登录。我使用asp:Login
。登录页面工作正常,但我已关联一个事件处理程序,当用户登录该站点时,将被重定向到一个身份验证页面,该页面将以这种方式发送用户名。
protected void LoginUserPass_LoggingIn(object sender, LoginCancelEventArgs e)
{
Response.Redirect("~/Authenticate.aspx?user=" + LoginUserPass.UserName);
}
我已将LoginView的DestinationPageUrl
设置为"~/Authenticate.aspx"
。一旦用户通过身份验证,就会发生另一个重定向到成员页面。但是在我的会员页面中,它并未显示用户已登录。
<asp:LoginStatus ID="LoginStatus1" runat="server"
LogoutAction="Redirect" BackColor="White"
Font-Underline="True" LogoutPageUrl="~/Default.aspx" />
我哪里错了?
答案 0 :(得分:1)
当用户登录该站点时将被重定向...
如果用户使用用户名和密码登录,那么您重定向,您的用户在重定向LogginIn
事件之前未登录:
当用户提交登录信息但在用户在网站上进行身份验证之前,会引发 LoggingIn 事件。在对用户进行身份验证之前,请使用LoggingIn事件设置所需的任何信息。
改为使用LoggedIn:
在身份验证提供程序检查用户凭据并且身份验证cookie排队等待在下一个响应中发送到浏览器之后,将引发 LoggedIn 事件。在用户通过身份验证后,使用LoggedIn事件提供其他处理,例如访问每用户数据。