ReturnURL清除查询字符串

时间:2011-01-26 19:27:50

标签: asp.net

是否可以从服务器清除ReturnUrl?我有一个用户注销的登录页面,我想将它们引导到特定的页面,但是当设置了ReturnURL时,它会覆盖我的重定向页面。

更新

理想情况下,我只会重定向刚注销的用户与已添加书签的用户,或者我会在特殊情况下重定向。

所以这些是案例:

  1. 链接或书签 - >在大多数情况下应该重定向到指定的页面
  2. 具有returnurl的退出 - >不应该重定向到页面
  3. 特例 - >应始终重定向到我的特殊情况,即当用户需要看到重要的内容时
  4. 有没有办法从注销/登录状态控件中删除returnurl?

3 个答案:

答案 0 :(得分:1)

您必须稍微调整登录逻辑。我从http://digitalcolony.com/2007/05/override-returnurl-in-asp-net-security/偷了我的答案。

覆盖登录逻辑并执行:

if (FormsAuthentication.Authenticate(txtName.Text, txtPassword.Text))
{
    FormsAuthentication.SetAuthCookie(txtName.Text, true);
    Response.Redirect("MySecuredStartPage.aspx", true);
}

答案 1 :(得分:0)

这是我的暂定解决方案:

  1. 我可以更改LoginStatus控件以重定向到登录名。
  2. 对于正常情况,我可以允许页面重定向,即书签等。
  3. 对于特殊情况,我可以使用Response.Redirect

答案 2 :(得分:0)

这对我有所帮助:

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        if (!string.IsNullOrEmpty(Request.QueryString["ReturnUrl"])) //check if ReturnUrl is not empty
        Response.Redirect("index.aspx"); //redirecting to the page I need
    }
}