0

当我使用:

FormsAuthentication.SignOut()
FormsAuthentication.RedirectToLoginPage()

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

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

谢谢

4

2 回答 2

1

这在用户请求安全url时使用,然后authenticating.

看看这个资源,很有用。表单认证

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

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

于 2013-08-12T15:23:07.233 回答
0

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

returnurl 是为了让他们在成功登录后返回到他们开始的页面。

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

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

于 2013-08-12T15:29:26.477 回答