Asp.net 为什么Response.Redirect(“Pagename.aspx”)不';行不通
我有一个应用程序,成功登录后,用户将被重定向到Home.aspx。 现在,如果我尝试Response.Redirect(“Home.aspx”)它不起作用,但是如果我尝试 FormsAuthentication.RedirectFromLoginPage(TextBox1.Text,false);。。它起作用了。 现在我的问题是为什么Response.Redirect()不起作用? 我知道FormsAuthentication.RedirectFromLoginPage做的不仅仅是登录,它还设置cookie,还重定向到登录页面,但为什么Redirct()不起作用呢? web.config:Asp.net 为什么Response.Redirect(“Pagename.aspx”)不';行不通,asp.net,authentication,forms-authentication,Asp.net,Authentication,Forms Authentication,我有一个应用程序,成功登录后,用户将被重定向到Home.aspx。 现在,如果我尝试Response.Redirect(“Home.aspx”)它不起作用,但是如果我尝试 FormsAuthentication.RedirectFromLoginPage(TextBox1.Text,false);。。它起作用了。 现在我的问题是为什么Response.Redirect()不起作用? 我知道FormsAuthentication.RedirectFromLoginPage做的不仅仅是登录,它还设置
<authentication mode="Forms">
<forms loginUrl="LogIn.aspx" defaultUrl="Home.aspx" path="/"></forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
有人能帮忙吗?你已经知道了答案 Response.Redirect不会设置身份验证cookie,因此当Home.aspx加载时,它会使身份验证失败,并将您重定向回登录页面 要使用response.redirect,您必须自己管理cookie,例如: 编辑: 要回答评论中的问题,如果将true作为第二个参数传递给RedirectFromLoginPage,则cookie将被设置为永不过期,您无需再次登录
FormsAuthentication.RedirectFromLoginPage(TextBox1.Text, true)
你已经有了答案 Response.Redirect不会设置身份验证cookie,因此当Home.aspx加载时,它会使身份验证失败,并将您重定向回登录页面 要使用response.redirect,您必须自己管理cookie,例如: 编辑: 要回答评论中的问题,如果将true作为第二个参数传递给RedirectFromLoginPage,则cookie将被设置为永不过期,您无需再次登录
FormsAuthentication.RedirectFromLoginPage(TextBox1.Text, true)
感谢Patrick提供的帮助和链接:-)。我有一个问题,假设成功登录后我关闭了窗口。因此,下次我开始浏览时,我应该直接重定向到Home.aspx,而不是login.aspx(与stackoverflow相同).现在如何实现这一点。你能举一些例子或链接吗。这里不提供身份验证.SetAuthCookie帮助吗?谢谢Patrick的帮助和链接:-)。我有一个问题,假设在成功登录后我关闭了窗口。因此,下次当我开始浏览时,我应该直接重定向到Home.aspx,而不是login.aspx(与stackoverflow相同)。现在如何实现这一点。你能举一些例子或链接吗。这里不需要FormsAuthentication.SetAuthCookie帮助吗?