当我使用时:
FormsAuthentication.SignOut()
FormsAuthentication.RedirectToLoginPage()
URL会显示一个ReturnUrl字符串,这是正常的吗?有办法防止这种情况吗?
我可以使用response.redirect,但是想知道为什么它也显示了返回URL。
谢谢
答案 0 :(得分:1)
当用户请求安全网址时,会使用此功能,然后在authenticating
之后重定向返回此页面。
看看这个资源,非常有用。 Forms Authentication
至于删除这部分网址,我不认为这是可能的(但我还没有调查过,因为它是一个有用的功能)。您经常会收到新闻文章等内容的链接。您不介意重新进行身份验证,但如果您只是去随机主页,这会很烦人,所需的操作就是让网站自动重定向到您最初请求的页面。
编辑:除了您需要进行身份验证的直接链接之外,另一个原因可能是您正在阅读多页文章的情况,您单击下一页并且会话已过期。您将返回登录页面,进行身份验证,然后返回您正在阅读的页面。回到主页再次搜索该文章是不可取的。
答案 1 :(得分:0)
当您想要将用户重定向到登录页面时,此方法适用于FormsAuthentication.RedirectToLoginPage()
documentation states,例如,如果用户注销并希望以其他人身份重新登录。
returnurl是这样的,它们会在成功登录后返回到他们开始的页面。
听起来如果您希望他们转到主页或其他网址,那么您不应该在这里使用FormsAuthentication.RedirectToLoginPage()
。在我看来,response.redirect
将是一个不错的选择。
要回答您的问题,似乎没有办法禁用ReturnUrl并仍然使用FormsAuthentication.RedirectToLoginPage()
。