다음을 통해 공유


멤버 자격 소개

업데이트: 2007년 11월

ASP.NET 멤버 자격 시스템에서는 사용자 자격 증명을 확인하고 저장하는 기능을 기본적으로 제공합니다. 따라서 ASP.NET 멤버 자격은 웹 사이트에서 사용자 인증을 관리하는 데 유용합니다. ASP.NET 멤버 자격과 ASP.NET 폼 인증 또는 ASP.NET Login 컨트롤을 함께 사용하여 완벽한 사용자 인증 시스템을 만들 수 있습니다.

ASP.NET 멤버 자격을 사용하면 다음을 수행할 수 있습니다.

  • 새 사용자 및 암호를 만들 수 있습니다.

  • Microsoft SQL Server, Active Directory 또는 대체 데이터 저장소에 사용자 이름, 암호 및 지원 데이터 등의 멤버 자격 정보를 저장할 수 있습니다.

  • 사이트 방문자를 인증할 수 있습니다. 사용자를 프로그래밍 방식으로 인증하거나, ASP.NET Login 컨트롤을 사용하여 코드가 거의 또는 전혀 필요하지 않은 완벽한 인증 시스템을 만들 수 있습니다.

  • 암호 만들기, 변경 및 다시 설정과 같은 암호 관리 작업을 수행할 수 있습니다. 선택한 멤버 자격 옵션에 따라 멤버 자격 시스템에서는 사용자가 지정한 질문과 답변을 사용하는 자동 암호 재설정 시스템도 제공할 수 있습니다.

  • 현재 응용 프로그램에서 사용할 수 있으며 ASP.NET 개인 설정 및 역할 관리(권한 부여) 시스템과도 통합되는 인증된 사용자용 고유 ID를 제공할 수 있습니다.

  • 멤버 자격을 관리하고 사용자 지정 데이터 저장소에 멤버 자격 데이터를 저장하는 데 현재 코드 대신 사용할 수 있는 사용자 지정 멤버 자격 공급자를 지정할 수 있습니다.

멤버 자격, 역할 및 사용자 프로필

멤버 자격은 인증을 위한 ASP.NET의 독립형 인증 기능이지만 ASP.NET 역할 관리와 통합되어 사이트에 대한 권한 부여 서비스를 제공할 수도 있습니다. 개별 사용자에 맞게 조정할 수 있는 응용 프로그램 관련 사용자 지정 기능을 제공하기 위해 멤버 자격과 사용자 프로필을 통합할 수도 있습니다. 자세한 내용은 역할을 사용하여 권한 부여 관리ASP.NET 프로필 속성 개요를 참조하십시오.

멤버 자격 작동 방법

멤버 자격을 사용하려면 먼저 사이트에 맞게 멤버 자격을 구성해야 합니다. 대략적으로 다음과 같은 단계를 수행합니다.

  1. 웹 사이트 구성의 일부로 멤버 자격 옵션을 지정합니다. 기본적으로 멤버 자격은 활성화되어 있습니다. 사용할 멤버 자격 공급자를 지정할 수도 있습니다. 이것은 실제로 멤버 자격 정보를 저장할 데이터베이스 유형을 지정하는 것을 의미합니다. 기본 공급자에서는 Microsoft SQL Server 데이터베이스를 사용합니다. 또한 Active Directory를 사용하여 멤버 자격 정보를 저장하도록 선택하거나 사용자 지정 공급자를 지정할 수도 있습니다. ASP.NET 응용 프로그램의 Web.config 파일에서 지정할 수 있는 멤버 자격 구성 옵션에 대한 자세한 내용은 멤버 자격을 사용하도록 ASP.NET 응용 프로그램 구성을 참조하십시오.

  2. Windows 또는 Passport 인증과는 다른 폼 인증을 사용하도록 응용 프로그램을 구성합니다. 일반적으로 응용 프로그램의 일부 페이지나 폴더에는 인증된 사용자만 액세스할 수 있도록 보호 기능을 지정합니다.

  3. 멤버 자격에 대한 사용자 계정을 정의합니다. 이 작업은 다양한 방법으로 수행할 수 있습니다. 새 사용자를 만들기 위한 마법사 스타일의 인터페이스를 제공하는 웹 사이트 관리 도구를 사용할 수 있습니다. 또는 사용자 이름과 암호를 수집하고 선택적으로 전자 메일 주소를 수집하는 "새 사용자" ASP.NET 웹 페이지를 만든 다음 CreateUser라는 멤버 자격 함수를 사용하여 멤버 자격 시스템에서 새 사용자를 만들 수 있습니다.

이제 멤버 자격을 사용하여 응용 프로그램의 사용자를 인증할 수 있습니다. 대부분의 경우 별도의 페이지로 표시되거나 홈 페이지의 특정 영역에 표시될 수 있는 로그인 폼을 제공합니다. ASP.NET TextBox 컨트롤을 사용하여 직접 로그인 폼을 만들거나 ASP.NET Login 컨트롤을 사용할 수 있습니다. 폼 인증을 사용하도록 응용 프로그램을 구성했으므로 인증되지 않은 사용자가 보호되는 페이지를 요청하면 ASP.NET에서 자동으로 로그인 페이지를 표시합니다.

참고:

ASP.NET Login 컨트롤(Login, LoginView, LoginStatus, LoginNamePasswordRecovery)은 사용자에게 자격 증명을 요구하고 멤버 자격 시스템에서 해당 자격 증명을 확인하는 데 필요한 거의 모든 논리를 캡슐화합니다.

Login 컨트롤을 사용하면 컨트롤에서 자동으로 멤버 자격 시스템을 사용하여 사용자를 확인합니다. 로그인 폼을 직접 만든 경우 사용자에게 사용자 이름과 암호를 입력하라는 메시지를 표시한 다음 ValidateUser 메서드를 호출하여 사용자를 확인할 수 있습니다. 사용자를 확인한 후 해당 사용자에 대한 정보는 폼 인증을 사용하여 보관됩니다. 예를 들어, 사용자의 브라우저에서 쿠키를 허용하는 경우 암호화된 쿠키를 사용하여 정보가 보관됩니다. Login 컨트롤에서는 이 작업을 자동으로 수행합니다. 로그인 폼을 직접 만든 경우 FormsAuthentication 클래스의 메서드를 호출하여 쿠키를 만들고 이 쿠키를 사용자의 컴퓨터에 쓸 수 있습니다. 사용자가 암호를 잊어버린 경우 로그인 페이지에서 사용자에게 암호에 관한 힌트를 제공하거나 새 암호를 만들 수 있도록 하는 멤버 자격 함수를 호출할 수 있습니다.

ASP.NET 폼 인증에서는 사용자가 보호되는 다른 페이지를 요청할 때마다 사용자가 인증되었는지 여부를 확인한 다음 해당 페이지를 표시하거나 로그인 페이지로 리디렉션합니다. 기본적으로 인증 쿠키는 사용자의 세션 동안 유효한 상태로 유지됩니다.

사용자를 인증한 후에는 멤버 자격 시스템에서 현재 사용자에 대한 정보가 포함된 개체를 사용할 수 있습니다. 예를 들어, 멤버 자격 사용자 개체의 속성을 통해 사용자의 이름 및 전자 메일 주소와 사용자가 응용 프로그램에 마지막으로 로그인한 시간 등을 확인할 수 있습니다.

멤버 자격 시스템의 중요한 특징은 사용자 정보를 가져오거나 설정하기 위해 하위 수준 데이터베이스 함수를 명시적으로 수행할 필요가 없다는 점입니다. 예를 들어, 새 사용자를 만들려면 멤버 자격 CreateUser 메서드를 호출합니다. 멤버 자격 시스템에서는 사용자 정보 저장에 필요한 데이터베이스 레코드를 만드는 작업을 세부적으로 처리합니다. 사용자의 자격 증명을 확인하기 위해 ValidateUser 메서드를 호출하면 멤버 자격 시스템에서 모든 데이터베이스 조회를 자동으로 수행합니다.

멤버 자격 구성 및 관리

응용 프로그램의 Web.config 파일에서 멤버 자격 시스템을 구성할 수 있습니다. 멤버 자격을 구성하고 관리하는 가장 쉬운 방법은 마법사 기반 인터페이스를 제공하는 웹 사이트 관리 도구를 사용하는 것입니다. 멤버 자격을 구성할 때 지정하는 사항은 다음과 같습니다.

  • 사용할 멤버 자격 공급자. 이 항목은 일반적으로 멤버 자격 정보를 저장할 데이터베이스도 지정합니다.

  • 사용자 특정 질문을 기반으로 한 암호 복구 지원 여부 및 암호화 등의 암호 옵션

  • 사용자 및 암호. 웹 사이트 관리 도구를 사용하는 경우 직접 사용자를 만들고 관리할 수 있습니다. 그렇지 않으면 멤버 자격 함수를 호출하여 프로그래밍 방식으로 사용자를 만들고 관리해야 합니다.

참고 항목

개념

멤버 자격 보안

기타 리소스

멤버 자격을 사용하여 사용자 관리