FormsAuthentication RedirectToLoginPage Quirk

Gre*_*reg 10 c# forms-authentication

在SignOut()调用之后使用此方法重定向到'... login.aspx?ReturnUrl =%2fmydomainname%2flogout.aspx',以便用户无法再次重新登录,因为成功登录将返回到注销页面.登录页面在webconfig中设置,应用程序成功获取该页面.为什么ReturnURL会卡在URL的尾部?

Meh*_*ari 17

这是怎么回事RedirectFromLoginPage.它将当前URL附加到登录页面的查询字符串.这样,登录页面可以将用户重定向回到他所在的位置.

如果您不希望发生这种情况,可以使用手动重定向到登录页面Response.Redirect.

  • 要在没有ReturnUrl的情况下模仿FormsAuthentication行为,请调用`Response.Redirect(FormsAuthentication.LoginUrl,false);` (3认同)
  • 然后添加对`HttpContext.Current.ApplicationInstance.CompleteRequest()的调用 (3认同)