SqlRoleProvider 클래스

정의

SQL Server 데이터베이스에서 ASP.NET 애플리케이션에 대한 역할 멤버 자격 정보의 스토리지를 관리합니다.

public ref class SqlRoleProvider : System::Web::Security::RoleProvider
public class SqlRoleProvider : System.Web.Security.RoleProvider
type SqlRoleProvider = class
    inherit RoleProvider
Public Class SqlRoleProvider
Inherits RoleProvider
상속
SqlRoleProvider

예제

다음 예제에서는 SqlRoleProvider 개체 및 SqlMembershipProvider 사용하도록 구성된 ASP.NET 애플리케이션에 대한 Web.config 파일을 보여 냅니다. 요소는 authorization 관리자 역할에서 인증된 사용자에 대한 액세스만 허용하도록 구성됩니다.

<configuration>
  <connectionStrings>
    <add name="SqlServices" connectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
  </connectionStrings>
  <system.web>
    <authentication mode="Forms" >
      <forms loginUrl="logincs.aspx"
      name=".ASPXFORMSAUTH" />
    </authentication>
    <authorization>
      <deny users="?" />
      <allow roles="Administrators" />
      <deny users="*" />
    </authorization>
    <membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
      <providers>
        <add
          name="SqlProvider"
          type="System.Web.Security.SqlMembershipProvider"
          connectionStringName="SqlServices"
          enablePasswordRetrieval="false"
          enablePasswordReset="false"
          requiresQuestionAndAnswer="false"
          passwordFormat="Hashed"
          applicationName="SampleApplication" />
      </providers>
    </membership>
    <roleManager defaultProvider="SqlProvider"
      enabled="true"
      cacheRolesInCookie="true"
      cookieName=".ASPROLES"
      cookieTimeout="30"
      cookiePath="/"
      cookieRequireSSL="true"
      cookieSlidingExpiration="true"
      cookieProtection="All" >
      <providers>
        <add
          name="SqlProvider"
          type="System.Web.Security.SqlRoleProvider"
          connectionStringName="SqlServices"
          applicationName="SampleApplication" />
      </providers>
    </roleManager>
  </system.web>
</configuration>

설명

이 클래스는 RolesRolePrincipal 클래스에서 SQL Server 데이터베이스를 사용하여 ASP.NET 애플리케이션에 대한 역할 관리 서비스를 제공하는 데 사용됩니다. 역할 관리를 사용하여 애플리케이션에 대한 다양한 수준의 권한 부여를 지정할 수 있습니다.

SqlRoleProvider 클래스를 사용하려면 먼저 SqlRoleProvider 사용하는 SQL Server 데이터베이스를 만들어야 합니다. SqlRoleProvider 클래스에서 사용하는 데이터베이스를 만들려면 C:\WINDOWS\Microsoft.NET\Framework\ aspnet_regsql.exe 폴더에 있는 versionNumber 실행 파일을 실행하고 -Ar 옵션(예: aspnet_regsql.exe -Ar)을 지정합니다. 만든 데이터베이스를 Aspnetdb라고 합니다. 또는 aspnet_regsql.exe 실행하여 GUI 구성 모드를 끌어오고 모든 ASP.NET 기능을 구성하도록 선택합니다.

역할 공급자가 통합 보안을 사용하는 연결 문자열 구성된 경우 ASP.NET 애플리케이션의 프로세스 계정에는 SQL Server 데이터베이스에 연결할 권한이 있어야 합니다.

Machine.config 파일은 로컬 컴퓨터의 SQL Server 연결하는 AspNetSqlProvider라는 SqlRoleProvider 인스턴스로 구성됩니다. 공급자의 이 인스턴스를 사용하거나 ASP.NET 애플리케이션의 Web.config 파일에서 직접 지정할 수 있습니다. AspNetSqlProvider 인스턴스를 사용하려면 구성에서 AspNetSqlProvider를 defaultProvider 지정합니다.

인증 및 권한 부여 정보에 단일 데이터베이스를 사용하기 위해 동일한 데이터베이스 및 사용자 정보를 SqlRoleProvider 사용하도록 구성할 SqlMembershipProvider 수 있습니다. 멤버 자격 및 역할 정보에 동일한 데이터베이스를 사용하려면 aspnet_regsql.exe 실행 파일을 실행하고 멤버 자격 기능을 설치합니다. 그런 다음 SqlRoleProviderSqlMembershipProvider 인스턴스 모두에 대해 구성에서 동일한 연결 문자열 지정합니다. 또한 두 공급자 인스턴스가 동일한 ApplicationName형식으로 구성되어 있는지 확인합니다.

생성자

Name Description
SqlRoleProvider()

SqlRoleProvider 클래스의 인스턴스를 만듭니다.

속성

Name Description
ApplicationName

역할 정보를 저장하고 검색할 애플리케이션의 이름을 가져오거나 설정합니다.

Description

관리 도구 또는 기타 UI(사용자 인터페이스)에 표시하기에 적합한 짧고 친숙한 설명을 가져옵니다.

(다음에서 상속됨 ProviderBase)
Name

구성 중에 공급자를 참조하는 데 사용되는 이름을 가져옵니다.

(다음에서 상속됨 ProviderBase)

메서드

Name Description
AddUsersToRoles(String[], String[])

지정된 각 역할에 지정된 사용자 이름을 추가합니다.

CreateRole(String)

역할 데이터베이스에 새 역할을 추가합니다.

DeleteRole(String, Boolean)

역할 데이터베이스에서 역할을 제거합니다.

Equals(Object)

지정된 개체가 현재 개체와 같은지 여부를 확인합니다.

(다음에서 상속됨 Object)
FindUsersInRole(String, String)

사용자 이름에 일치시킬 지정된 사용자 이름이 포함된 역할의 사용자 이름 배열을 가져옵니다.

GetAllRoles()

애플리케이션에 대한 모든 역할의 목록을 가져옵니다.

GetHashCode()

기본 해시 함수로 사용됩니다.

(다음에서 상속됨 Object)
GetRolesForUser(String)

사용자가 있는 역할의 목록을 가져옵니다.

GetType()

현재 인스턴스의 Type 가져옵니다.

(다음에서 상속됨 Object)
GetUsersInRole(String)

지정된 역할의 사용자 목록을 가져옵니다.

Initialize(String, NameValueCollection)

ASP.NET 애플리케이션의 구성 파일에 지정된 속성 값을 사용하여 SQL Server 역할 공급자를 초기화합니다. 이 메서드는 코드에서 직접 사용할 수 없습니다.

IsUserInRole(String, String)

지정된 사용자가 지정된 역할에 있는지 여부를 나타내는 값을 가져옵니다.

MemberwiseClone()

현재 Object단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
RemoveUsersFromRoles(String[], String[])

지정된 역할에서 지정된 사용자 이름을 제거합니다.

RoleExists(String)

지정된 역할 이름이 역할 데이터베이스에 이미 있는지 여부를 나타내는 값을 가져옵니다.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

적용 대상

추가 정보