登录时重定向到另一个页面时的重定向循环
本文关键字:重定向 循环 另一个 登录 | 更新日期: 2023-09-27 18:19:30
我得到了一个重定向循环,我不知道为什么。我使用了这个简单的代码,这样,如果有人转到default.aspx并已经登录,它应该将他们重定向到inside.aspx。为什么我会得到重定向循环?
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (User.Identity.IsAuthenticated) // if the user is already logged in
{
Response.Redirect("inside.aspx");
}
}
}
编辑:
这两个页面共享一个带有以下代码的主页面,只有当按下注销控制时才会关闭:
public partial class template : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void LoginStatus1_LoggingOut(object sender, LoginCancelEventArgs e)
{
Response.Redirect("default.aspx");
Session.Abandon();
}
}
我假设您的问题是,当您试图注销时,页面会再次重定向到默认页面。原因是您在重定向会话后正在清除会话,因此不会调用session.Advanced()。但我不知道您的身份验证是否真的依赖于Session.Advant(),在这种情况下,您将再次看到重定向。
protected void LoginStatus1_LoggingOut(object sender, LoginCancelEventArgs e)
{
Session.Abandon();
Response.Redirect("default.aspx");
}
如果您正在使用成员资格提供程序,请签出defaultUrl,该defaultUrl可以配置为在用户注销后自动重定向。要手动触发注销,请使用FormsAuthentication.SignOut().
问题是两个文件的CodeFile引用相同。这是一个愚蠢的错误,但如果你有这个问题,一定要检查一下!