C#创造一个“记住我”的世界

C#创造一个“记住我”的世界,c#,forms,login,C#,Forms,Login,我有一个登录表单,我想做一个带有“记住我”功能的复选框…有人能给我一些如何做的代码吗? 我什么都没试过,因为我不知道 int timeout = rememberMe ? 525600 : 30; // Timeout in minutes, 525600 = 365 days. var ticket = new FormsAuthenticationTicket(userName, rememberMe, timeout); string encrypted = For

我有一个登录表单,我想做一个带有“记住我”功能的复选框…有人能给我一些如何做的代码吗? 我什么都没试过,因为我不知道

    int timeout = rememberMe ? 525600 : 30; // Timeout in minutes, 525600 = 365 days.
    var ticket = new FormsAuthenticationTicket(userName, rememberMe, timeout);
    string encrypted = FormsAuthentication.Encrypt(ticket);
    var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encrypted);
    cookie.Expires = System.DateTime.Now.AddMinutes(timeout);// Not my line
    cookie.HttpOnly = true; // cookie not available in javascript.
    Response.Cookies.Add(cookie);
我发现了这个,但我不知道;我不知道该把它放在哪里

代码的其余部分是:

using (MySqlCommand cmd = new MySqlCommand("SELECT * FROM members WHERE username = '" + textBox2.Text + "' AND password = '" + textBox3.Text + "';"))
                {
                    cmd.Connection = con;

                    DataTable dt = new DataTable();
                    con.Open();
                    MySqlDataReader reader = cmd.ExecuteReader();

                    if (reader.Read() != false)
                    {
                        if (reader.IsDBNull(0) == true)
                        {
                            cmd.Connection.Close();
                            reader.Dispose();
                            cmd.Dispose();
                            MessageBox.Show("Oops!There was a problem!");
                        }
                        else
                        {
                            cmd.Connection.Close();
                            reader.Dispose();
                            cmd.Dispose();
                            this.Hide();

                           }
                    }

                    else
                    {
                        MessageBox.Show("You Login Information is incorrect!");
                    }

查看有关表单身份验证的此链接。此代码将在用户提供其登录凭据后处理“登录”按钮单击的方法/操作中。

使用以下代码创建cookie

Response.Cookies("userName").Value = "mike"
Response.Cookies("userName").Expires = DateTime.Now.AddDays(1)

从不同的表登录不同的用户

公共字符串登录(字符串用户名、字符串密码)//登录方法 { dataBaseObj.sqlconn.Open()


你的登录代码设置是怎样的?你应该考虑使用内置登录选项(它有一个记住ME选项)。我更新了帖子中的代码。
        dataBaseObj.sqlCmd = new SqlCommand("SELECT  clEmail, clPassword FROM Client where clEmail='" + username + "'", dataBaseObj.sqlconn);
        dataBaseObj.sqlDr = dataBaseObj.sqlCmd.ExecuteReader();


        if (dataBaseObj.sqlDr.Read())
        {
            if (dataBaseObj.sqlDr["clPassword"].Equals(password.ToString()))
            {
                strmessage = "client";
                dataBaseObj.sqlconn.Close();
            }
            else
            {
                intResult++;

                strmessage = "login  not succesfull";

                dataBaseObj.sqlconn.Close();

                if (intResult == 3)
                {
                    strmessage = "your Blocked";
                }

            }
        }    // if its not the client is gonna go to workers table 
        else
        {
            dataBaseObj.sqlCmd = new SqlCommand("SELECT wuUsername, wuPassword, wuUserType FROM  WorkUsers where wuUsername'" + username + "'", dataBaseObj.sqlconn);
            dataBaseObj.sqlDr = dataBaseObj.sqlCmd.ExecuteReader();

            if (dataBaseObj.sqlDr.Read())
            {
                if (dataBaseObj.sqlDr["wuPassword"].Equals(password.ToString()))
                {
                    strmessage = "Receptionist";
                    dataBaseObj.sqlconn.Close();
                }
                else
                {

                    intResult++;

                    strmessage = "login  not succesful";

                    dataBaseObj.sqlconn.Close();

                    if (intResult == 3)
                    {
                        strmessage = "your Blocked";
                    }
                }
            }
        }
        return strmessage;
    }