다음을 통해 공유


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

예제

다음 예제에서는 사용 하도록 구성 된 ASP.NET 애플리케이션에 대 한 Web.config 파일을 SqlRoleProvider 개체 및 SqlMembershipProvider합니다. 요소는 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 클래스를 먼저 만들어야 사용 하는 SQL Server 데이터베이스를 SqlRoleProvider입니다. 사용 하는 데이터베이스를 만드는 SqlRoleProvider 클래스를 실행 합니다 aspnet_regsql.exe 는 C:\WINDOWS\Microsoft.NET\Framework\에서 실행 파일을 찾을 versionNumber 폴더 지정를 -Ar 옵션 (예를 들어 aspnet_regsql.exe -Ar). 생성 된 데이터베이스는 Aspnetdb 라고 합니다. 또는 GUI 구성 모드를 가져오려고 aspnet_regsql.exe를 실행 하 고 모든 ASP.NET 기능을 구성 하려면 선택 합니다.

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

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

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

생성자

SqlRoleProvider()

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

속성

ApplicationName

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

Description

관리 도구나 다른 UI(사용자 인터페이스)에 표시하기에 적합한 간단하고 이해하기 쉬운 설명을 가져옵니다.

(다음에서 상속됨 ProviderBase)
Name

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

(다음에서 상속됨 ProviderBase)

메서드

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)

적용 대상

추가 정보