ASP.net表单身份验证重定向到登录页面问题

时间:2013-08-12 15:19:52

标签: asp.net

当我使用时:

FormsAuthentication.SignOut()
FormsAuthentication.RedirectToLoginPage()

URL会显示一个ReturnUrl字符串,这是正常的吗?有办法防止这种情况吗?

我可以使用response.redirect,但是想知道为什么它也显示了返回URL。

谢谢

2 个答案:

答案 0 :(得分:1)

当用户请求安全网址时,会使用此功能,然后在authenticating之后重定向返回此页面。

看看这个资源,非常有用。 Forms Authentication

至于删除这部分网址,我不认为这是可能的(但我还没有调查过,因为它是一个有用的功能)。您经常会收到新闻文章等内容的链接。您不介意重新进行身份验证,但如果您只是去随机主页,这会很烦人,所需的操作就是让网站自动重定向到您最初请求的页面。

编辑:除了您需要进行身份验证的直接链接之外,另一个原因可能是您正在阅读多页文章的情况,您单击下一页并且会话已过期。您将返回登录页面,进行身份验证,然后返回您正在阅读的页面。回到主页再次搜索该文章是不可取的。

答案 1 :(得分:0)

当您想要将用户重定向到登录页面时,此方法适用于FormsAuthentication.RedirectToLoginPage() documentation states,例如,如果用户注销并希望以其他人身份重新登录。

returnurl是这样的,它们会在成功登录后返回到他们开始的页面。

听起来如果您希望他们转到主页或其他网址,那么您不应该在这里使用FormsAuthentication.RedirectToLoginPage()。在我看来,response.redirect将是一个不错的选择。

要回答您的问题,似乎没有办法禁用ReturnUrl并仍然使用FormsAuthentication.RedirectToLoginPage()