如何防止 Login.aspx 页面的 ReturnUrl 参数覆盖 ASP.NET Login 控件的 DestinationPageUrl 属性?

StackOverflow https://stackoverflow.com/questions/33166

  •  09-06-2019
  •  | 
  •  

我正在使用 ASP.NET 登录控件表单验证 用于 ASP.NET Web 应用程序的成员资格/凭据。我有这样的页面 密码恢复.aspx 只有匿名用户才能访问。当我从这样的页面单击登录链接时,登录页面有一个 返回网址 地址栏中的参数:

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

登录成功后,用户将返回到 密码恢复.aspx 中指定的页面 返回网址 他们不再有权访问的参数。

有帮助吗?

解决方案

我找到了答案 速度评论. 。我处理了 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
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top