AuthorizationStoreRoleProvider 클래스

정의

권한 부여 관리자 정책 저장소, XML 파일, Active Directory 또는 Active Directory 애플리케이션 모드 서버에서 ASP.NET 애플리케이션에 대한 역할 멤버 자격 정보의 스토리지를 관리합니다.

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

예제

다음 코드 예제에서는 역할 관리에 사용할 Web.config 파일 집합을 AuthorizationStoreRoleProvider 보여줍니다.

<configuration>
  <connectionStrings>
    <add name="AuthorizationServices" connectionString="msxml://~\App_Data\SampleStore.xml" />
  </connectionStrings>

  <system.web>

    <authentication mode="Windows" />
    <identity impersonate="true" />

    <roleManager defaultProvider="AuthorizationStoreRoleProvider"
      enabled="true"
      cacheRolesInCookie="true"
      cookieName=".ASPROLES"
      cookieTimeout="30"
      cookiePath="/"
      cookieRequireSSL="false"
      cookieSlidingExpiration="true"
      cookieProtection="All" >
      <providers>
        <clear />
          <add
            name="AuthorizationStoreRoleProvider"
            type="System.Web.Security.AuthorizationStoreRoleProvider"
            connectionStringName="AuthorizationServices"
            applicationName="SampleApplication"
            cacheRefreshInterval="60"
            scopeName="" />
      </providers>
    </roleManager>

  </system.web>
</configuration>

설명

이 클래스는 RolesRolePrincipal 클래스에서 authorization-manager 저장소를 사용하여 ASP.NET 애플리케이션에 대한 역할 관리 서비스를 제공하는 데 사용됩니다. 역할 관리를 사용하여 애플리케이션에 대한 다양한 수준의 권한 부여를 지정할 수 있습니다. 권한 부여 관리자는 Microsoft Management Console 사용하여 액세스할 수 있습니다.

AuthorizationStoreRoleProvider 개체는 Windows 인증 및 양식 인증 모드에서 모두 작동합니다.

로컬 XML 파일 또는 Active Directory 또는 ACTIVE DIRECTORY ADAM(애플리케이션 모드) 서버를 사용하도록 AuthorizationStoreRoleProvider 개체를 구성할 수 있습니다. 로컬 파일을 사용하는 경우 연결 문자열 다음 예제와 같이 표시됩니다.

msxml://<path to xml file>

로컬 파일이 ASP.NET 웹 애플리케이션의 디렉터리 트리에 저장된 경우 타일("~") 문자를 사용하여 루트 디렉터리를 나타낼 수 있습니다. 예를 들어 로컬 파일이 웹 애플리케이션의 데이터 디렉터리에 저장되어 있음을 나타내려면 다음 예제와 유사한 연결 문자열 사용합니다.

msxml://~\App_Data\datafilename.xml

Important

웹 애플리케이션 디렉터리에 XML 데이터 파일을 저장하는 것은 잠재적인 보안 위협입니다. 기본적으로 IIS는 XML 데이터 파일을 웹에 제공합니다. ASP.NET 애플리케이션에서 로컬 데이터 파일을 사용할 때 보안을 강화하려면 데이터 파일을 App_Data 디렉터리에 저장해야 합니다. 디렉터리에 저장된 App_Data 파일은 웹에 제공되지 않습니다.

정책 저장소에 Active Directory 또는 ADAM 서버를 사용하는 경우 연결 문자열 다음 예제와 유사해야 합니다.

msldap://myserver/CN=MyAzManStore,OU=MyOU,DC=MyDomain,DC=MyDC,DC=Com

개체 메서드 설명서 AuthorizationStoreRoleProvider 에 나열된 예외는 개체에서 발생하는 AuthorizationStoreRoleProvider 예외입니다. 공급자는 기본 인증 관리자 런타임을 사용하므로 개체가 COMException 인증 관리자 런타임에 AuthorizationStoreRoleProvider 메서드 호출을 전달할 때마다 예외가 throw될 수 있습니다.

Important

개체에는 AuthorizationStoreRoleProvider 부분 신뢰 환경에서 실행하기 위한 다음과 같은 요구 사항이 있습니다.

ASP.NET 애플리케이션에서 파일 기반 정책 저장소를 사용하는 경우 현재 신뢰 수준에서 부여한 파일 I/O 권한은 공급자가 읽기 및 쓰기 작업을 허용하는지 여부를 결정합니다. ASP.NET 애플리케이션은 정책 저장소에서 데이터를 읽을 수 있는 파일에 대한 읽기 권한이 있어야 하며 새 정보를 저장하거나 정책 저장소에서 기존 정보를 업데이트하기 위한 쓰기 권한이 있어야 합니다. 기본 중간 신뢰 정책 파일은 애플리케이션 디렉터리에서 ASP.NET 애플리케이션 읽기/쓰기 권한을 제공합니다. 기본 낮은 신뢰 정책 파일은 해당 애플리케이션 디렉터리에 ASP.NET 애플리케이션 읽기 권한만 제공합니다. 또한 ASP.NET 애플리케이션이 실행되는 프로세스 ID에는 정책 파일을 읽고/또는 쓸 수 있는 파일 시스템 권한이 있어야 합니다.

Active Directory 또는 ADAM 서버를 사용하는 경우 내부 AuthorizationStoreRoleProvider 개체 코드에서 COM interop을 사용하므로 ASP.NET 애플리케이션에 관리되지 않는 코드 권한이 필요합니다.

ASP.NET 외부에서 AuthorizationStoreRoleProvider 개체를 사용하는 경우 호출 코드에는 비관리 코드 권한이 필요합니다.

생성자

Name Description
AuthorizationStoreRoleProvider()

AuthorizationStoreRoleProvider 클래스의 새 인스턴스를 초기화합니다.

속성

Name Description
ApplicationName

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

CacheRefreshInterval

정책 저장소 데이터의 캐시 새로 고침 사이의 시간(분)을 가져옵니다.

Description

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

(다음에서 상속됨 ProviderBase)
Name

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

(다음에서 상속됨 ProviderBase)
ScopeName

권한 부여 저장소의 범위 이름을 가져오거나 설정합니다.

메서드

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 애플리케이션의 구성 파일에 지정된 속성 값을 사용하여 authorization-manager 역할 공급자를 초기화합니다. 이 메서드는 코드에서 직접 사용할 수 없습니다.

IsUserInRole(String, String)

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

MemberwiseClone()

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

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

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

RoleExists(String)

지정한 역할 이름이 authorization-manager 정책 저장소에 이미 있는지 여부를 나타내는 값을 가져옵니다.

ToString()

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

(다음에서 상속됨 Object)

적용 대상

추가 정보