我遇到以下问题:重新发布 ASP.NET Web 应用程序会导致(如预期的那样) session 重置,我保留了额外的用户信息(访问尝试会导致 NullReferenceException)。
为了避免这种情况,我的页面会检查此信息是否存在,如果为空,则将用户重定向到登录页面(表单验证),所以我调用:
void LogOut()
{
Session.Clear();
Session.Abandon();
User = null;
FormsAuthentication.SignOut();
FormsAuthentication.RedirectToLoginPage()
}
但有时它并没有帮助,所以我找到了一个解决方法:
Response.Redirect(FormsAuthentication.LoginUrl);
但它没有添加 returnUrl,这是我希望的(我不想手动模拟此行为)。
所以想弄清楚为什么第一种方法没有按预期工作。
最佳答案
您是否尝试过在 FormsAuthentication.RedirectToLoginPage()
之后调用 Response.End()
?
关于c# - FormsAuthentication.RedirectToLoginPage() 什么都不做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8376476/