다음을 통해 공유


역할 관리 공급자

업데이트: 2007년 11월

역할 관리 서비스에서는 역할 정보가 들어 있는 데이터 저장소와 역할 관리의 기능(API)을 구분하기 위해 공급자 모델을 사용합니다. .NET Framework에는 역할 정보를 서로 다른 데이터 저장소에 보관하는 다음 공급자가 포함되어 있습니다.

  • SQL Server - 역할 정보가 SQL Server 데이터베이스에 저장됩니다. SQL 공급자는 중간 규모 또는 대규모의 인터넷 응용 프로그램에 적합합니다. 이 공급자가 기본값입니다.

  • Windows(WindowsToken) - 역할 정보가 Windows 계정(사용자 및 그룹)을 기반으로 합니다. Windows 공급자는 모든 사용자에게 도메인 계정이 있는 네트워크에서 응용 프로그램이 실행되는 경우에만 유용합니다.

  • 권한 부여 관리자(AzMan) - 역할 정보가 권한 부여 관리자 XML 파일이나 디렉터리 기반 정책 저장소를 사용하여 관리됩니다.

응용 프로그램의 Web.config 파일에서 역할 관리를 구성할 때 defaultProvider 특성을 설정하여 공급자를 지정할 수 있습니다. 예를 들어, "SQL"이라는 역할 공급자 인스턴스를 지정하려면 구성 파일의 roleManager 요소(ASP.NET 설정 스키마)에 다음 항목을 추가합니다.

<roleManager 
   defaultProvider="SQL"enabled="true" 
   cacheRolesInCookie="true" >
</roleManager>

멤버 자격 서비스와 사용자 프로필에 사용하는 데이터베이스를 역할 관리에 사용할 수 있습니다. 그러나 이러한 각 서비스에 서로 다른 공급자를 지정할 수도 있습니다. 역할 관리 데이터베이스 구성에 대한 자세한 내용은 SQL Server용 응용 프로그램 서비스 데이터베이스 만들기 및 구성을 참조하십시오.

WindowsTokenRoleProvider 공급자를 지정하는 경우에는 또한 Web.config 파일의 다음과 같은 항목에서 Windows 인증을 사용하도록 응용 프로그램을 구성해야 합니다.

<authentication mode="Windows" />

WindowsTokenRoleProvider 공급자는 역할 관리 API의 관리 기능을 대부분 지원하지 않습니다. 예를 들어, WindowsTokenRoleProvider 공급자를 사용하는 경우 역할 관리를 사용하여 그룹을 만들거나 그룹에 사용자를 추가할 수 없습니다. 대신 Windows에서 해당 기능을 수행해야 합니다.

사용자 지정 역할 관리 공급자

사용자 지정 역할 관리 공급자를 만들 수도 있습니다. 이렇게 하면 역할 정보 저장소를 직접 정의하거나 기존 역할 정보 저장소를 사용할 수 있습니다. 일반적인 방법은 RoleProvider 추상 클래스를 상속하는 클래스를 만드는 것입니다. RoleProvider 클래스는 공급자가 정의하는 메서드를 식별합니다. 이러한 메서드는 기본적으로 Roles 클래스의 메서드와 동일합니다.

사용자 지정 역할 공급자를 만든 후 응용 프로그램에서 해당 공급자를 사용하도록 구성할 수 있습니다. 이렇게 구성하는 방법은 .NET Framework와 함께 제공되는 공급자 중 하나를 사용할 때의 응용 프로그램 구성 방법과 동일합니다. 그러면 역할 관리 시스템에서는 자동으로 사용자 지정 공급자를 호출하고 해당 메서드를 호출합니다.

자세한 내용은 역할 공급자 구현을 참조하십시오.

참고 항목

개념

역할 관리 이해

역할 관리 클래스

기타 리소스

ASP.NET 웹 사이트 보안