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
C# 在ASP.net中管理用户会话_C#_Asp.net_Session - Fatal编程技术网

C# 在ASP.net中管理用户会话

C# 在ASP.net中管理用户会话,c#,asp.net,session,C#,Asp.net,Session,我是ASP.net新手,这是我的第一个Web应用程序。我在应用程序中遇到的关于会话的问题是,当我注销并按下浏览器的返回按钮时,它会再次将我推入应用程序。我使用的代码如下: protected void Page_Load(object sender, EventArgs e) { if (Session["LiveUser"] != null) { }

我是ASP.net新手,这是我的第一个Web应用程序。我在应用程序中遇到的关于会话的问题是,当我注销并按下浏览器的返回按钮时,它会再次将我推入应用程序。我使用的代码如下:

    protected void Page_Load(object sender, EventArgs e)
            {
                if (Session["LiveUser"] != null)
                {

                }
                else
                {
                    Response.Redirect("InvalidForm.aspx");
                }
            }


protected void ButtonLogOut_Click(object sender, EventArgs e)
        {
            Response.Redirect("LoginForm.aspx");
            Session["LiveUser"] = null;

        }
按钮注销:

<asp:Button ID="ButtonLogOut" runat="server" CssClass="btnLogout"
                    Text="Log Out" OnClick="ButtonLogOut_Click" /> 

若您在注销后单击浏览器的“后退”按钮,预期的行为是要求用户名/密码不要在应用程序中再次按下。解决方案应该是什么?

注销单击事件应该更像这样:

protected void ButtonLogOut_Click(object sender, EventArgs e)
{
    Session.Clear();
    Session.Abandon();
    Response.Redirect("LoginForm.aspx");
}
重定向必须是最后一个。
另外,请注意,asp.net回发事件(按钮单击)对浏览器回发按钮不友好,因为它们将再次尝试发布表单数据。

对于注销,使用常规的a href链接到带有GET方法的打开的注销页面,或者在回发()的情况下使用post-redirect-GET技术

protected void ButtonLogOut_Click(object sender, EventArgs e)
{
    Session.Clear();
    Session.Abandon();
    Response.Redirect("LoginForm.aspx");
}
重定向必须是最后一个。
另外,请注意,asp.net回发事件(按钮单击)对浏览器回发按钮不友好,因为它们将再次尝试发布表单数据。

对于注销,使用常规的a href链接到带有GET方法的打开的注销页面,或者在回发()的情况下使用post-redirect-GET技术。

用户名/密码的SQL注入存在巨大的安全问题!永远不要像这样组合SQL字符串,使用SQL参数!用户名/密码的SQL注入存在巨大的安全问题!永远不要像这样组合SQL字符串,使用SQL参数!