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)를 저장하고, 저장된 아이디를 읽어와서 처리하는 방법에 대한 설명으로 진행했지만 다양한 용도로 활용할 수 있습니다.
서로 다른 페이지 간에 데이터를 주고 받을 때로 쿠키를 사용할 수 있습니다.





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


This Post Has One Comment

  1. situs toto terpercaya

    Wow, awesome blog layout! How long have you been blogging for?
    you make blogging look easy. The overall look of your website is
    excellent, as well as the content!

답글 남기기