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;
댓글
댓글 쓰기