asp. net operates on a simple example of cookie

  • 2020-10-23 20:04:47
  • OfStack


 protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            HttpCookie cookie = Request.Cookies["loginInfo"];
            if (cookie != null)
            {
                cb_repwd.Checked = true;
                tb_loginName.Text = UIHelper.Decrypt(cookie["loginName"]);
                tb_pwd.Attributes.Add("value", UIHelper.Decrypt(cookie["pwd"]));
            }
            else
            {
                tb_pwd.Attributes.Add("value", "******");
            }

        }

    }
    protected void btn_login_Click(object sender, EventArgs e)
    {
        if (UIHelper.GetString(Session["Code"]).ToUpper()!=this.tb_code.Text.Trim().ToUpper())
        {
            oJavaScript.Alert(" Incorrect verification code input ");
            return;
        }
        NetUserService NerService = ContextFactory.GetObject<NetUserService>("NetUserService");
        string sql = string.Format("from NetUser where LoginName='{0}'", tb_loginName.Text.Trim());
        IList<NetUser> list = NerService.Find(sql);
        if (list.Count > 0)
        {
            if (list[0].Status == 2)
            {
                oJavaScript.Alert(" The account has been deactivated. Please contact your administrator ");
                return;
            }
        }
        if (NerService.Login(tb_loginName.Text.Trim(), oSecurity.GetPwdEncrypt(tb_pwd.Text.Trim())))
        {
            HttpCookie cookie = Request.Cookies["loginInfo"];
            if (cb_repwd.Checked)
            {
                if (cookie == null)
                {
                    HttpCookie cookielogin = new HttpCookie("loginInfo");
                    setCookies(cookielogin,7);
                }
                else
                {
                    if (UIHelper.Decrypt(Request.Cookies["loginInfo"]["loginName"]) != tb_loginName.Text.Trim())
                    {
                        setCookies(cookie, 7);
                    }
                }
            }
            else
            {
                setCookieExpires(cookie);
            }

            
            oJavaScript.Redirect("/");
        }
        else
        {
            oJavaScript.Alert( " Incorrect user name or password ");
        }
    }
    #region cookie
    /// <summary>
    ///  Set up the cookie
    /// </summary>
    /// <param name="cookielogin">HttpCookie cookielogin</param>
    /// <param name="Expires"> The period of validity </param>
    private void setCookies(HttpCookie cookielogin, int Expires)
    {
        cookielogin.Values["loginName"] = UIHelper.Encrypt(tb_loginName.Text.Trim());
        cookielogin.Values["pwd"] = UIHelper.Encrypt(tb_pwd.Text.Trim());
        cookielogin.Expires = DateTime.Now.AddDays(Expires);
        Response.AppendCookie(cookielogin);
    }
    /// <summary>
    ///  Set up the cookie failure 
    /// </summary>
    /// <param name="cookielogin">HttpCookie cookielogin</param>
    private void setCookieExpires(HttpCookie cookielogin)
    {
        if (cookielogin != null)
        {
            cookielogin.Expires = DateTime.Now.AddDays(-1); ;
            Response.AppendCookie(cookielogin);
        }
    }
    #endregion

Setting cookie expiration is essentially a modification of cookie, and cookie must be sent back to the client

Request.Cookies take cookie, response, cookies add cookie

Simple as it is, it's easy to make mistakes if you don't know much about it


Related articles: