Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 为什么Response.Redirect(“Pagename.aspx”)不';行不通_Asp.net_Authentication_Forms Authentication - Fatal编程技术网

Asp.net 为什么Response.Redirect(“Pagename.aspx”)不';行不通

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做的不仅仅是登录,它还设置

我有一个应用程序,成功登录后,用户将被重定向到Home.aspx。 现在,如果我尝试Response.Redirect(“Home.aspx”)它不起作用,但是如果我尝试 FormsAuthentication.RedirectFromLoginPage(TextBox1.Text,false);。。它起作用了。 现在我的问题是为什么Response.Redirect()不起作用? 我知道FormsAuthentication.RedirectFromLoginPage做的不仅仅是登录,它还设置cookie,还重定向到登录页面,但为什么Redirct()不起作用呢? web.config:

<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帮助吗?