ASP.NET 웹서비스 만들기 #2 (WebForm)

ASP.NET 웹서비스 만들기 #2

지난번 포스트에 이어서
인증 페이지(auth_service.aspx)를 만들어 봅시다.


auth_service.aspx 만든 후 저번처럼 디자인 소스는 모두 주석 처리 합니다. (저는 보통 다 지웁니다.)

인증 처리방법
  • 사용자 ID, 비밀번호를 POST 값으로 넘겨 받습니다.
  • DB 에 접속해서 T_USER 테이블과 비교 합니다.
  • 맞으면 세션에 USER 정보를 넣고 아니면 NG로 리턴합니다.
사용자 ID, 비밀번호 POST 값 으로 넘겨 받는 코드

public partial class auth_service : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Boolean chk_val = true;
            // POST 값 받기 
            String USER_ID = "";
            String USER_PASSWORD = "";
  
            if (!String.IsNullOrEmpty(Request.Form["USER_ID"]))
            {
                USER_ID = Request.Form["USER_ID"].ToString();
            }
  
            if (!String.IsNullOrEmpty(Request.Form["USER_PASSWORD"]))
            {
                USER_PASSWORD = Request.Form["USER_PASSWORD"].ToString();
            }
  
            if (USER_ID == "" || USER_PASSWORD == "")
            {
                chk_val = false;
                Response.Write("NG");
            }
             
            if(chk_val == true)
            {
                // DB 접속 후 로그인 처리 
            }
        }
    }

DB 에 접속해서 T_USER 테이블과 비교 합니다.

DB 접속 설정
web.config 에 DB 접속정보 추가

<configuration>
<appsettings>
<add key="DBConn" value="Password=1234;Persist Security Info=True;User ID=sa;Initial Catalog=TEST_DEV;Data Source=localhost">
</add>
</appsettings>
<system .web="">
<compilation debug="true" targetframework="4.5.1">
<httpruntime targetframework="4.5.1">
</httpruntime>
</compilation>
</system>
</configuration>

예제에 사용한 DB는 MSSQL express 버전입니다.
DB 접속 후 로그인 처리 코드


// DB 접속 후 로그인 처리 
String db_conn = _appSettings["DBConn"].ToString();
String Query = "SELECT USER_NAME FROM T_USER WHERE USER_ID = '" + USER_ID + "' AND USER_PASSWORD = '" + USER_PASSWORD + "' ";
                     
SqlConnection mDBConn = new SqlConnection(db_conn);
mDBConn.Open(); // DB 접속
  
DataTable mDT = new DataTable();
  
SqlCommand mCmd = new SqlCommand(Query, mDBConn); // Query 실행
SqlDataAdapter mDA = new SqlDataAdapter(mCmd); // DataTable 채우기
mDA.Fill(mDT);
  
mDBConn.Close();
mDA.Dispose();
  
if(mDT.Rows.Count == 0)
{
    Response.Write("NG : 사용자 정보를 찾을수 없습니다.");
}
else
{
    // 세션에 USER_ID, USER_NAME 저장
    Session["USER_ID"] = USER_ID;
    Session["USER_NAME"] = mDT.Rows[0]["USER_NAME"].ToString();
                     
    Response.Write("OK : " + mDT.Rows[0]["USER_NAME"].ToString());
}

테이블 명은 T_USER
간단하게 DB 접속해서 쿼리 후 DataTable 에 담고
정보가 있으면 OK 뿌리는 코드 입니다.

그리고 세션에 저장하구요

// 세션에 USER_ID, USER_NAME 저장
Session["USER_ID"] = USER_ID;
Session["USER_NAME"] = mDT.Rows[0]["USER_NAME"].ToString();

다음 포스트에 계속 됩니다.

PS. web.config 에서 DB 접속 정보 가져오기

private System.Collections.Specialized.NameValueCollection _appSettings = System.Web.Configuration.WebConfigurationManager.AppSettings;

댓글

이 블로그의 인기 게시물

2025년 7월 다이어리

1. 대학교 축제 전시 프로젝트