2015년 8월 10일 월요일

C# WebForm : 쿠키(Cookie) 사용

간단히 로그인 폼을 예로 든다.


이렇게, 간단하게 로그인 폼을 구성하면...


대충 요런 폼이 나옴. 뭐, 폼이 중요한게 아니니... 적당히 만듬.


[Login.aspx.cs]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class web_member_Login : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {    }

    protected void btnLogin_Click(object sender, EventArgs e)
    {
        HttpCookie setCookie = new HttpCookie("UserInfo");
        setCookie["UserId"] = txtUserID.Text;
        setCookie["SetDate"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
        setCookie.Expires = DateTime.Now.AddDays(1d);
        Response.Cookies.Add(setCookie);
    }

    protected void btnCookie_Click(object sender, EventArgs e)
    {
        string strTemp = String.Empty;
        if (Request.Cookies["UserInfo"] != null)
        {
           strTemp = Request.Cookies["UserInfo"]["UserId"];
           strTemp += " | " + Request.Cookies["UserInfo"]["SetDate"];
        }
        lblCookie.Text = strTemp;
    }

    protected void btnLogout_Click(object sender, EventArgs e)
    {
        if (Request.Cookies["UserInfo"] != null)
        {
            Request.Cookies["UserInfo"].Expires = DateTime.Now.AddDays(-1d);
            Response.Cookies.Add(Request.Cookies["UserInfo"]);
        }
    }
}



요것이, 쿠키를 만드는 소스.



아이디를 넣고 로그인 한뒤... (쿠키 세팅외에는 아무런 작업이 없으니, 아무런 반응이 없음)


쿠키값 버튼을 눌러보면 쿠키값이 출력됨.


로그 아웃을 클릭 후 쿠키값 버튼을 클릭해보면 쿠키값이 지워진게 보일 것임.