使用ReturnUrl清楚理解

时间:2013-03-03 17:35:57

标签: asp.net forms-authentication returnurl

我的菜单中有三个链接

1.登陆

2.创建帐户

3.默认页面

几个小时它工作正常(在我点击创建新帐户的意义上很好,它将我带到同一页面,如果我点击登录它将我带到登录页面)。但现在当我点击创建帐户并立即点击登录链接时,它会显示返回URL,如下所示:

http://localhost:16491/Website1/Login.aspx?ReturnUrl=%2fWebsite1%2fCreateUser.aspx

为什么会发生这种情况?有人能说出我需要更改的原因或内容,以便它指向相同的网址

从互联网上看,他们说我需要检查用户是否经过身份验证并重定向到特定网页而不是 DestinationPageURL

这就是我所做的,它重定向到默认页面为expceted.But我想知道为什么Returnurl已经附加以及如何删除它。

Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
  If HttpContext.Current.User.Identity.IsAuthenticated Then
      loggeddetails.Text = "Welcome"
      FormsAuthentication.SetAuthCookie(Login1.UserName, True)
      Response.Redirect("Default.aspx")
  Else
      loggeddetails.Text = "Welcome Guest,"
  End If
End Sub

1 个答案:

答案 0 :(得分:0)

我花了好几个小时理解这一点,并最终使用此解决方案,因为我已强制 login control 重定向到 destination page Url 如下图所示:

Protected Sub Login1_LoggedIn(sender As Object, e As EventArgs) Handles Login1.LoggedIn
    Response.Redirect(Login1.DestinationPageUrl)
End Sub