본문 바로가기

asp.net

[ASP.NET] 보안 #2 - 로그인 컨트롤 사용하기 로그인 컨트롤을 사용하기 위해 우선적으로 이해해야 할 멤버 자격(Membership)에 대해 알아보고 로그인 컨트롤 사용법에 대해 배워보겠습니다. 1. 멤버 자격(Membership) 멤버 자격은 ASP.NET에서 제공하는 로그인 컨트롤, 멤저 자격 API, 멤버 자격 공급자가 서로 유기적으로 동작하면서 사용자 생성, 로그인, 로그아웃 등등과 관련된 작업을 자동으로 처리해주는 기능이라고 이해하시면 됩니다. 로그인 컨트롤에는 여러 가지가 있는데 하나하나 집어보면서 소개해 드리겠습니다. 2. CreateUserWizard CreateUserWizard 컨트롤은 사용자 정보를 입력받아 새로운 사용자를 만들어 주는 컨트롤 입니다. 아래는 CreateUserWizard 컨트롤을 웹 폼 위로 끌어다 놓았을 때의 모.. 더보기
[ASP.NET] 보안 #1 - 인증과 권한 부여 ASP.NET의 '보안 - 인증과 권한 부여'에 대해 알아보겠습니다. 1. 인증과 권한 부여의 개념 인증은 특정 사용자가 유효한 사용자인지를 판단하는 과정을 의미합니다. 즉, 회원제 웹 사이트에서 회원에게만 공개되는 정보를 보려고 하려면 아이디와 암호를 입력해 로그인 과정을 거쳐야 합니다. 바로 이러한 과정을 인증(Authentication)이라고 합니다. 또 인증 받은 사용자(로그인한 사용자)와 인증을 받지 않은 사용자(비회원)는 콘텐츠에 접근 할 수 있는 자격에서 차이가 납니다. 회원과 비회원 모두 글을 읽을 순 있지만 비회원은 글을 쓸 수 없는 등의 차이가 있게 됩니다. 이렇게 웹 사이트에 접근하는 모든 사용자들은 웹 사이트 정책에 따라 콘텐츠에 대한 접근이 구분되는데 이것을 권한 부여(Author.. 더보기
[ASP.NET] 테마(Themes) #5 프로그래밍 방식으로 테마 적용하기 프로그래밍 방식으로 테마를 적용한다는 것은 상황에 따라 동적으로 테마를 변경시킨다는 뜻입니다. 예를 들어.. 골드 회원과 일반 회원으로 구분하여 운영하는 회원제 웹 사이트가 있다면 이 웹 사이트에 로그인한 회원이 골드 회원일 경우에는 좀 더 고급스러운 테마를 적용하게 하고 일반 회원일 경우에는 일반적인 테마를 적용하게 할 때 사용할 수 있습니다. 이렇게 Skin 파일을 따로 골드회원용과 일반회원용을 만들어 달리 테마를 주려고 할 때 씁니다. 저는 Autumn과 Summer로 적용시켜 보겠습니다. Summer 테마에서 TextBox, Button, Label 컨트롤의 속성을 위와 같이 정해주고, Autumn 테마에서는 TextBox, Button, Label 컨트롤의 속성.. 더보기
[ASP.NET] 테마(Themes) #4 이번에는 명명된 스킨(Named Skin)에 대해 살펴볼까합니다. 명명된 스킨(Named Skin) 명명된 스킨은 SkinID 특성을 가지고 있는 스킨입니다. 명명된 스킨을 사용하면 원하는 스킨을 해당 서버 컨트롤에 직접적으로 명시할 수 있겠죠!! 테마 세번째 시간에 설명했던 것과는 달리 SkinID가 사용되었는데요!! SkinID는 만약 Button 컨트롤을 여러번 쓸 때 각각 버튼의 스타일을 다르게 주고싶으면 사용합니다. Button으로만 여러가지 스킨을 지정해 놓으면 무엇을 적용해야 할지 모르기 때문에 문제가 생기므로 SkinID로 명칭을 다르게 지어주는 거죠!! 위에 Button과 Label에 SkinID를 지정해준 줬죠! Theme="테마폴더 명"을 Summer라고 지정해 주시고! Button2.. 더보기
[ASP.NET] 테마(Themes) #3 이번에는 테마의 기본 스킨(Default Skin)에 관한 예제를 살펴보며 공부해 봅시다. 기본 스킨 (Default Skin) 기본 스킨은 SkinID 특성을 가지고 있지 않으면서 테마가 적용된 영역에 포함되어 있는 모든 서버 컨트롤에 기본적으로 적용되는 스킨을 말합니다. 우선 테마를 생성하는 방법에 대해 알아볼까 합니다. 1. 솔루션 탐색기에서 [프로젝트 명을 마우스로 오른쪽 클릭]-> [ASP.NET 폴더 추가]-> [테마] 메뉴를 선택합니다. 2. [테마]를 선택하면 솔루션 탐색기에서 APP_Theme 폴더가 자동으로 생성되고 그 하위에 Theme1이라는 폴더가 생기는데 이폴더명을 저는 Summer로 바꾸어 주었습니다. 그 다음 아래에 따라 [새 항목 추가]를 누릅니다. 3. '스킨 파일 '템플릿.. 더보기
[ASP.NET] 테마(Themes) #1 이번 시간에는 테마(Themes)에 대해 알아보도록 하겠습니다. 테마는 '제목', '주제', '화제'등으로 해석할 수 있는데 ASP.NET 에서는 웹사이트의 특정 스타일(분위기 또는 주제)을 지정하는데 사용하는 기능을 말합니다!!! 예전에는 HTML 태그 스타일의 관리를 위해 CSS를 사용했는데 CSS만으로 ASP.NET 서버 컨트롤의 스타일을 일관성 있게 제어하기에는 부족한 점이 많아서 테마가 나오게 되었습니다. ASP.NET 2.0에서는 테마 기능을 사용하기 위해 App_Themes라는 ASP.NET 응용 프로그램 폴더를 제공하며 확장자가 .skin인 새로운 형태의 스킨 파일을 제공합니다. 위의 그림을 보면 APP_Themes 폴더 하위에 Christmas와 Summer라는 테마가 정의 되어있는 것이.. 더보기
[ADO.NET]DB연동-비연결기반 UPDATE 비연결기반의 UPDATE를 예제를 통해 알아보도록 합시다. protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { BindDropDownList(); SetInfo(); } } // 페이지 최초 로드시 임의로 작성한 BindDropDownList(), SetInfo() 메서드를 호출합니다. void BindDropDownList() { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["TestConnectionString"].ConnectionString); SqlCommand cmd = new SqlCommand("SELECT u.. 더보기
[ADO.NET]DB연동-비연결기반 INSERT 비연결기반에서 INSERT를 실행해보도록 할텐데요. 시작하기에 앞서 비연결기반에서 INSERT, UPDATE, DELETE 프로세스들의 처리과정에 대해 알아보겠습니다. 비연결기반에서 INSERT, UPDATE, DELETE 프로세스들은 데이터베이스로부터 가져온 데이터를 무조건 DateSet에 담고 연결을 끊은 후, DataSet을 해당 프로세스에 맞게 변경시킨 다음 변경된 내용을 데이터베이스로 다시 업데이트하는 처리 과정을 가집니다. 이 처리과정을 이해하고 시작하셔야해요! 이제 진짜 시작해볼까요! 아래는 INSERT 예제 입니다. protected void Button1_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection(C.. 더보기
[ADO.NET] DB연동-비연결기반 SELECT 이번에는 비연결기반 데이터 베이스 연동에 대해서 알아보겠습니다. 연결기반과는 달리 비연결기반의 데이터베이스 연동에서는 DB에 연결하기 위한 Connection 개체와 SQL문을 실행하기 위한 Command 개체 , 참조한 데이터를 담아두기 위한 DataSet 개체, DataSet에 데이터를 담고 DataSet에서 수정된 내용을 DB에 적용시키는 DataAdapter 개체가 사용됩니다. 지난번과 마찬가지로 SELECT 프로세스 부터 알아볼까요? SELECT // SqlConnection, SqlCommand, SqlDataAdapter 클래스를 사용하기 위해 System.Data.SqlClient 네임스페이스를 선언합니다. //DataSet 클래스를 사용하기 위해 System.Data 네임스페이스를 선언합.. 더보기
[ASP.NET] - 유효성 검사 컨트롤(Validation Controls) 유효성 검사 컨트롤은 사용자가 입력한 데이터의 유효성을 판단해 주는 컨트롤입니다. 회원 가입 시 주민번호, 우편번호, 전자메일 등의 정보가 유효한지 판단할 때 사용하는 것입니다. 유효성 검사 컨트롤은 아래와 같이 있습니다. 1. RequiredFieldVaildator은 회원 가입 시 이름과 주민번호 같이 필수 입력 사항을 체크합니다. 입력을 하지 않고 버튼은 누르면 다음으로 넘어갈 수 없습니다. 2. CompareVaildator은 두 가지 값을 비교하는 데 사용됩니다. 회원 가입 시 비밀번호을 입력하고 다시 비밀번호 확인을 입력해야 합니다. 두 입력을 비교 해 비밀번호가 일치하는지 알아봅니다. 3. RangeValidator은 사용자가 입력한 값이 특정범위 안에 있는지 체크합니다. 숫자, 문자열, 날.. 더보기
[ASP.NET] 표준컨트롤 #11 - Wizard Wizard 컨트롤은 순서가 있는 작업들을 쉽게 처리할 수 있도록 해줍니다. 예를 들어 쇼핑몰 같은 경우 보통 아래와 같은 절차를 따릅니다. 물품선택 -> 주문자 정보 입력 -> 주문확인 -> 결제 -> 결제확인 이와 같이 특정 절차를 따르는 작업을 쉽게 처리 할 때 Wizard 컨트롤이 이용됩니다. protected void Wizard1_FinishButtonClick(object sender, WizardNavigationEventArgs e) { Label1.Text = "랜실 페브리즈 3종 세트: " + TextBox1.Text + "개"; Label2.Text = "김수미의 간장게장:" + TextBox2.Text + "개"; Label3.Text = "주소:" + TextBox3.Text; .. 더보기
[ASP.NET] 표준컨트롤 #10 - FileUpload FilUpload는 자신이 가지고 있는 파일을 서버로 전송할 때 사용하는 컨트롤입니다. 찾아보기하고 파일첨부하는 것이라고 생각하시면 됩니다. protected void Button1_Click(object sender, EventArgs e) { if (FileUpload1.HasFile) { FileUpload1.SaveAs("c:\\Uploads\\" + FileUpload1.FileName); Label1.Text = "파일명 :" + FileUpload1.FileName + " 콘텐츠 타입:" + FileUpload1.PostedFile.ContentType + " 파일 사이즈: " + FileUpload1.PostedFile.ContentLength; } else { Label1.Text = ".. 더보기
[ASP.NET] 표준컨트롤 #9 - Image Image 컨트롤은 ImageUrl 속성에 지정한 이미지를 보여주는 컨트롤입니다. protected void Page_Load (object sender, EventArgs e) { if(DropDownList1.SelectedItem.Value == "0") Image1.ImageUrl="C:Users/Administrator/Desktop/구하라.jpg"; else Image1.ImageUrl = "C:/Users/Administrator/Desktop/차승원.jpg"; Image1.AlternateText = DropDownList1.SelectedItem.Text; } DropDownList 컨트롤 항목의 Value 값을 판단해 Value 값이 0인경우 구하라 이미지를, Value값이 0이 아닌경.. 더보기
[ASP.NET] 표준컨트롤 #8 - Table Table 컨트롤은 표와 같이 생긴 것을 제어하기 위한 컨트롤 입니다. 예제를 보면 쉽게 이해할 수 있을거예요. 속성으로 2가지을 먼저 알려드리겠습니다. CellPadding : 셀 내용과 셀 테두리 사이의 여백 CellSpacing : 셀 사이의 여백 크기 DropDownList로 행과 열을 선택해 테이블 생성을 클릭하면 행, 열 수대로 테이블이 동적으로 만들어지게 되는 것이죠.. 더보기
[ASP.NET] 표준컨트롤 #7 - ListBox ListBox는 한 번에 여러 개의 항목을 선택할 수 있도록 해주는 컨트롤 입니다. List 3가지 항목중에 선택한 Item 1,3을 선택하고 버튼을 누르면 위와 같이 선택한 항목인 Item1, Item3이 Label에 대입되어 표현됩니다. 더보기
[ASP.NET] 표준컨트롤 #6 - CheckBoxList & RadioButtonList CheckBox 말 그대로 체크 할 수 있는 네모박스입니다. RadioButton은 CheckBox랑 비슷한데 버튼이 동그라미인 점과 여러 항목을 선택할 수 없다는 점이 차이점입니다. 주황색 박스 안의 코드는 RadioButton을 표현하고 노란색 박스 안의 코드는 여러개의 CheckBox를 표현합니다. 요소로 표현을 하면 CheckBox를 List로 표현할 수 있습니다. Button1 클릭 시 CheckBoxList1에서 한개 이상 체크했다면 선택된 항목을 Label1에 대입해준다는 구문입니다. 위의 동그라미 버튼이 RadioButton으로 한 항목만 선택 할 수습니다. 네모 상자 박스엔 RadioButton과 달리 1개 이상 체크 가능합니다. 더보기
[ASP.NET] 표준컨트롤 #5 - Panel Panel은 '구획', '합판' 이라는 뜻을 가지고 있으므로 Panel위에 올려진 모든 것들은 같은 구획에서 하나로 묶는다고 생각하시면 됩니다. 또 Panel은 BackColor과 같은 스타일 속성으로 색도 지정할 수 있기 때문에 웹 페이지 내에서 사용자의 시선을 집중시키는데 사용될 수 있습니다. 먼저 Text에 "Panel1 보임으로" 입력하여 Button1을 생성하고 "Panel1 안보임으로" 입력하여 Button2도 생성합니다. Panel1의 높이를 Height 50px, 너비 width 125px로 지정해서 Penel1에 TextBox1과 Button3을 생성합니다. 즉, Penel1엔 TextBox1과 Button3이 포함이 된것이죠. 쉽게말해 Panel1이란 일정한 범위를 가진 땅위에 Text.. 더보기
[ASP.NET] 표준컨트롤 #4 - TextBox TextBox는 주로 문자를 입력할 때 사용합니다. 가장 흔히 볼수 있는 것으로 사용빈도가 매우 높습니다. TextBox는 아래와 같이 문자를 쓸수있는 상자입니다. 확인 버튼을 클릭 했을 시 모든 텍스트 박스에 있는 문자들을 출력해주는 코드입니다. 아래 그림처럼 확인을 클릭하면 입력한 정보들이 위에 출력이 됩니다. 만약 비밀번호는 출력하고 싶지 않으면 비밀번호 박스인 TextBox3이 해당되는 코드를 지워주시면 되겠죠? 더보기
[ASP.NET] 표준컨트롤 #3 - Calendar Calendar 컨트롤은 웹 사이트에 달력을 쉽게 구현할 수 있도록 해줍니니다, 뿐만아니라 특정 일(Day), 주(week), 달(Month)을 선택하는 기능도 제공합니다. Calendar 컨트롤을 사용하면 달력을 이용한 일정표를 쉽게 만들 수 있겠죠? Calendar 컨트롤 이벤트를 주요 두 가지 이벤트를 소개하겠습니다, 'SelectionChanged' 와 'DayRender' 입니다. 'SelectionChanged' 이벤트는 특정 일, 주, 달을 선택했을 때 발생합니다. 'DayRender' 이벤트는 달력의 날짜 셀들이 하나씩 만들어질 때 발생합니다. 먼저 'SelectionChanged' 이벤트 예제입니다. 위의 코드는 특정 일, 주, 달이 선택되었을 때 실행되는 이벤트 처리기 입니다. Sele.. 더보기
[ASP.NET] 표준컨트롤 #2 - Button Button 컨트롤은 다시 게시를 일으키는 서버 컨트롤 중 하나입니다. 여기 다시게시(post back)란 요청을 받았을때(즉, button을 클릭했을 때)에만 새로 고침이 되는 이벤트라고 생각하시면 됩니다.. 'postback 하기'를 클릭했을 때 '다시 게시 하시겠습니까?'라는 메시지가 뜨고 OK 버튼을 눌렀을 경우 새로 고침되어 '클릭클릭!!!'이 나타나게 됩니다. OnclientClick은 Button 컨트롤 클릭 시 실행될 클라이언트 스크립트를 가져오거나 설정하는 속성입니다. 위 코드에서 OnclientClick은 Button 클릭 시 클라이언트측에서 실행될 스크립트로 '클릭클릭!!!'을 지정한 것입니다. confirm('다시 게시 하시겠습니까?'); 라는 구문은 위 그림처럼 대화상자(웹 페이지.. 더보기