웹 사이트 구축할 때 사용자 접속을 위한 웹 페이지를 만들어야 할 때가 있습니다.
사용자 ID(계정)와 비밀번호를 통해 접속하는 웹 페이지인 경우 크롬 브라우저와 같이 브라우저 자체적으로 자동 완성 비밀번호 기능이 있어 처음 접속할 때 비밀번호를 저장해 놓으면 다음에 해당 웹 페이지에 접속하게 되면 자동으로 계정 ID와 비밀번호가 자동으로 연결되어 바로 접속할 수 있게 됩니다.
관련하여 아래 포스팅 글을 참고하시기 바랍니다.
ASP.NET으로 웹 사이트를 만들 때 크롬의 자동 완성 비밀번호와 비슷한 기능으로 사용자 계정 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)를 저장하고, 저장된 아이디를 읽어와서 처리하는 방법에 대한 설명으로 진행했지만 다양한 용도로 활용할 수 있습니다.
서로 다른 페이지 간에 데이터를 주고 받을 때로 쿠키를 사용할 수 있습니다.
※ 함께 읽으면 도움이 될 만한 다른 포스팅 글입니다.
이 글이 도움이 되었기를 바랍니다. ^-^