ASP.NET 쿠키(Cookies)를 이용하여 사용자 ID 저장 및 사용 방법


웹 사이트 구축할 때 사용자 접속을 위한 웹 페이지를 만들어야 할 때가 있습니다.

사용자 ID(계정)와 비밀번호를 통해 접속하는 웹 페이지인 경우 크롬 브라우저와 같이 브라우저 자체적으로 자동 완성 비밀번호 기능이 있어 처음 접속할 때 비밀번호를 저장해 놓으면 다음에 해당 웹 페이지에 접속하게 되면 자동으로 계정 ID와 비밀번호가 자동으로 연결되어 바로 접속할 수 있게 됩니다.

관련하여 아래 포스팅 글을 참고하시기 바랍니다.

ASP.NET으로 웹 사이트를 만들 때 크롬의 자동 완성 비밀번호와 비슷한 기능으로 사용자 계정 ID나 비밀번호를 저장하고 다시 사용할 수 있도록 프로그램으로 로직을 구현해야 할 경우가 생기게 됩니다.

이번 글에서는 ASP.NET 쿠키(Cookies)를 이용하여 사용자 ID 저장 및 사용 방법에 대해 알아보겠습니다.

ASP.NET 쿠키(Cookies)를 이용하여 사용자 ID 저장 및 사용 방법

ASP.NET 쿠기(Cookies)에 저장된 내용을 가져와서 활용하기

웹 페이지가 Load 될 때 쿠키(Cookies)의 내용을 가져와서 처리하는 방법에 대한 예제입니다.

Page_Load 이벤트 처리에서 저장된 쿠키의 데이터를 가져와서 사용자 ID 입력 필드에 넣어주는 구문입니다.

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        // 쿠키가 있는지 확인해서 있으면 아이디 입력필드에 지정
        if (Request.Cookies[“UserId”!= null)
        {                                                
            txtUserID.Text = Request.Cookies[“UserId”].Value;
            cbIdCheck.Checked = true;     // 체크박스는 체크상태로
            txtPassword.Focus();
        }
    }
}

ASP.NET 쿠키(Cookies)에 데이터 저장 및 삭제 방법

로그인 버튼을 클릭했을 때 쿠키를 저장하는 방법과 쿠키에 저장된 값을 삭제하는 방법에 대한 설명입니다.

로그인 할 때 아이디 저장체크 되어 있다면 7일간 쿠키 값이 유지되도록 쿠키를 저장합니다.
로그인 할 때마다 쿠키 만료 기간이 7일로 되어 있으니 마지막 로그인 후 7일 이내에 다시 로그인 한다면 저장된 쿠키 값을 지속적으로 계속 사용할 수 있습니다.

아이디 저장체크가 되어 있지 않다면 쿠키 값을 바로 삭제합니다.
만료 기간을 현재일 이전으로 저장하면 해당 쿠키는 더 이상 사용할 수 없게 됩니다.

protected void btnLogin_Click(object sender, EventArgs e)
{
    if (cbIdCheck.Checked)
    {
        HttpCookie cookie = new HttpCookie(“UserId”, txtUserID.Text);
        cookie.Expires = DateTime.Now.AddDays(7);     // 7일간 쿠키저장
        Response.Cookies.Add(cookie);
    }
    else
    {
        HttpCookie cookie = new HttpCookie(“UserId”, txtUserID.Text);
        cookie.Expires = DateTime.Now.AddDays(1);    // 쿠키 삭제
        Response.Cookies.Add(cookie);
    }
}

예제에서 사용한 ASPX 화면

▼ 실제 ASPX 화면에 대한 정의 부분입니다.

  • 참고로 DevExpress 컨트롤을 사용하여 구성된 웹 페이지이므로 표준 컨트롤의 Button이나 TextBox를 사용할 때와 선언 부분이 조금 다를 수 있습니다.
<div style=“margin-left: 100px; margin-top: 5px;”>
     <dx:ASPxCheckBox ID=“cbIdCheck” runat=“server” CheckState=“Unchecked” ClientInstanceName=“cbIdCheck” Text=“아이디 저장”>
     </dx:ASPxCheckBox>
</div>
 
<div style=“width: 100px; margin-left: auto; margin-right: auto; margin-top: 15px”>
     <dx:ASPxButton ID=“btnLogin” runat=“server” Text=“로그인” Height=“20px” Width=“100px” Font-Size=“Small” OnClick=“btnLogin_Click”>
     </dx:ASPxButton>
</div>

마무리

쿠키(Cookies)를 잘 활용하면 다양한 작업을 처리할 수 있습니다.
이번 글에서는 단순히 사용자 계정(ID)를 저장하고, 저장된 아이디를 읽어와서 처리하는 방법에 대한 설명으로 진행했지만 다양한 용도로 활용할 수 있습니다.
서로 다른 페이지 간에 데이터를 주고 받을 때로 쿠키를 사용할 수 있습니다.





이 글이 도움이 되었기를 바랍니다. ^-^


답글 남기기