如何保持我的Login.aspx页面的ReturnUrl参数覆盖我的ASP.NET登录控件的DestinationPageUrl属性?

Zac*_*son 11 asp.net forms-authentication

我正在使用ASP.NET登录控件表单身份验证来获取ASP.NET Web应用程序的成员资格/凭据.我有PasswordRecovery.aspx这样的页面只能访问匿名用户.当我从这样的页面单击我的登录链接时,登录页面在地址栏中有一个ReturnUrl参数:

http://www.example.com/Login.aspx?ReturnUrl=PasswordRecovery.aspx

然后,在成功登录后,用户将返回到ReturnUrl参数中指定的PasswordRecovery.aspx页面,该页面不再具有访问权限.

Zac*_*son 14

我找到了Velocity Reviews的答案.我处理了LoggedIn事件以强制重定向到DestinationPageUrl页面.

Public Partial Class Login
    Inherits System.Web.UI.Page

    Protected Sub Login1_LoggedIn(ByVal sender As Object, _  
            ByVal e As System.EventArgs) Handles Login1.LoggedIn
        'overrides ReturnUrl page parameter
        Response.Redirect(Login1.DestinationPageUrl)
    End Sub

End Class
Run Code Online (Sandbox Code Playgroud)