FormsAuthentication RedirectToLoginPage Quirk

时间:2009-04-08 18:08:39

标签: c# forms-authentication

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

3 个答案:

答案 0 :(得分:16)

这就是RedirectFromLoginPage的工作原理。它将当前URL附加到登录页面的查询字符串。这样,登录页面可以将用户重定向回到他所在的位置。

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

答案 1 :(得分:1)

在退出时使用此代码

<asp:LoginStatus ID="LoginStatus1" runat="server" LogoutPageUrl="/xyz.aspx" LogoutAction="Redirect" />

答案 2 :(得分:0)

不确定这是否有帮助,但根据文档,还有一个重载的FormsAuthentication.RedirectToLoginPage方法,该方法接受一个字符串并“使用指定的查询字符串将浏览器重定向到登录URL”。

请参阅http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.redirecttologinpage.aspx