SqlRoleProvider 클래스

정의

SQL Server 데이터베이스에 ASP.NET 애플리케이션에 대한 역할 멤버 자격 정보를 스토리지하는 작업을 관리합니다.Manages storage of role membership information for an ASP.NET application in a SQL Server database.

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합니다.The following example shows the Web.config file for an ASP.NET application configured to use a SqlRoleProvider object and the SqlMembershipProvider. 요소는 관리자 역할에 인증 된 사용자에 대 한 액세스만 허용 하도록 구성 됩니다.The element is configured to only allow access to authenticated users in the Administrators role.

<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 애플리케이션 역할-관리 서비스를 제공 하는 클래스입니다.This class is used by the Roles and RolePrincipal classes to provide role-management services for an ASP.NET application using a SQL Server database. 애플리케이션에 대 한 다양 한 수준의 권한 부여를 지정 하려면 역할 관리를 사용할 수 있습니다.You can use role management to specify different levels of authorization for your application.

사용 하는 SqlRoleProvider 클래스를 먼저 만들어야 사용 하는 SQL Server 데이터베이스를 SqlRoleProvider입니다.To use the SqlRoleProvider class, you must first create the SQL Server database used by the SqlRoleProvider. 사용 하는 데이터베이스를 만드는 SqlRoleProvider 클래스를 실행 합니다 aspnet_regsql.exe 는 C:\WINDOWS\Microsoft.NET\Framework\에서 실행 파일을 찾을 versionNumber 폴더 지정를 -Ar 옵션 (예를 들어 aspnet_regsql.exe -Ar).To create the database used by the SqlRoleProvider class, run the aspnet_regsql.exe executable found in the C:\WINDOWS\Microsoft.NET\Framework\ versionNumber folder and specify the -Ar option (for example, aspnet_regsql.exe -Ar). 생성 된 데이터베이스는 Aspnetdb 라고 합니다.The database created is called Aspnetdb. 또는 GUI 구성 모드를 가져오려고 aspnet_regsql.exe를 실행 하 고 모든 ASP.NET 기능을 구성 하려면 선택 합니다.Alternatively, run aspnet_regsql.exe to pull up the GUI configuration mode and choose to configure all ASP.NET features.

역할 공급자를 통합된 보안을 사용 하는 연결 문자열을 사용 하 여 구성 된 경우 ASP.NET 애플리케이션의 프로세스 계정에 SQL Server 데이터베이스에 연결할 수 있는 권한이 있어야 합니다.If the role provider is configured with a connection string that uses integrated security, the process account of the ASP.NET application must have rights to connect to the SQL Server database.

Machine.config 파일을 사용 하 여 구성 된를 SqlRoleProvider AspNetSqlProvider 로컬 컴퓨터의 SQL Server에 연결 하는 명명 된 인스턴스.The Machine.config file is configured with a SqlRoleProvider instance named AspNetSqlProvider that connects to the SQL Server on the local machine. 공급자의이 인스턴스를 사용 하거나 지정할 수 있습니다 고유한 Web.config 파일에서 ASP.NET 애플리케이션에 대 한 합니다.You can use this instance of the provider, or specify your own in the Web.config file for your ASP.NET application. AspNetSqlProvider 인스턴스를 사용 하려면 AspNetSqlProvider로 지정 된 defaultProvider 구성에서 합니다.To use the AspNetSqlProvider instance, specify AspNetSqlProvider as the defaultProvider in your configuration.

구성할 수 있습니다 합니다 SqlRoleProvider 와 동일한 데이터베이스 및 사용자 정보를 사용 하는 SqlMembershipProvider 인증 및 권한 부여 정보에 대 한 단일 데이터베이스를 사용 하려면.You can configure the SqlRoleProvider to use the same database and user information as the SqlMembershipProvider in order to use a single database for authentication and authorization information. 동일한 데이터베이스에 멤버 자격 및 역할 정보를 사용 하려면 실행 aspnet_regsql.exe를 실행 하 고 멤버 자격 기능을 설치 합니다.To use the same database for membership and role information, run the aspnet_regsql.exe executable and install the membership feature. 그런 다음 둘 다에 대 한 구성에서 동일한 연결 문자열을 지정 하면 SqlRoleProviderSqlMembershipProvider 인스턴스.Then, specify the same connection string in your configuration for both your SqlRoleProvider and SqlMembershipProvider instances. 또한 공급자 인스턴스가 모두 동일한 구성 되어 있는지를 확인 ApplicationName합니다.Also ensure that both provider instances are configured with the same ApplicationName.

생성자

SqlRoleProvider()

SqlRoleProvider 클래스의 인스턴스를 만듭니다.Creates an instance of the SqlRoleProvider class.

속성

ApplicationName

역할 정보를 저장하고 검색할 애플리케이션의 이름을 가져오거나 설정합니다.Gets or sets the name of the application for which to store and retrieve role information.

Description

관리 도구나 다른 UI(사용자 인터페이스)에 표시하기에 적합한 간단하고 이해하기 쉬운 설명을 가져옵니다.Gets a brief, friendly description suitable for display in administrative tools or other user interfaces (UIs).

(다음에서 상속됨 ProviderBase)
Name

구성 중 공급자를 참조 하는 데 사용 되는 이름을 가져옵니다.Gets the friendly name used to refer to the provider during configuration.

(다음에서 상속됨 ProviderBase)

메서드

AddUsersToRoles(String[], String[])

각 지정된 된 역할에 지정된 된 사용자 이름을 추가합니다.Adds the specified user names to each of the specified roles.

CreateRole(String)

역할 데이터베이스에 새 역할을 추가합니다.Adds a new role to the role database.

DeleteRole(String, Boolean)

역할 데이터베이스에서 역할을 제거 합니다.Removes a role from the role database.

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.Determines whether the specified object is equal to the current object.

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

지정된 사용자 이름과 일치하는 부분이 사용자 이름에 포함되어 있는 사용자 이름의 배열을 역할에서 가져옵니다.Gets an array of user names in a role where the user name contains the specified user name to match.

GetAllRoles()

애플리케이션의 모든 역할 목록을 가져옵니다.Gets a list of all the roles for the application.

GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

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

사용자가 속한 역할 목록을 가져옵니다.Gets a list of the roles that a user is in.

GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

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

지정된 역할에 있는 사용자 목록을 가져옵니다.Gets a list of users in the specified role.

Initialize(String, NameValueCollection)

ASP.NET 애플리케이션의 구성 파일에 지정된 속성 값을 사용하여 SQL Server 역할 공급자를 초기화합니다.Initializes the SQL Server role provider with the property values specified in the ASP.NET application's configuration file. 이 메서드는 코드에서 직접 사용할 수 없습니다.This method is not intended to be used directly from your code.

IsUserInRole(String, String)

지정된 사용자가 지정된 역할에 속하는지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether the specified user is in the specified role.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

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

지정된 역할에서 지정된 사용자 이름을 제거합니다.Removes the specified user names from the specified roles.

RoleExists(String)

지정된 된 역할 이름이 역할 데이터베이스에 이미 있는지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether the specified role name already exists in the role database.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)

적용 대상

추가 정보