<serviceAuthorization> 요소

서비스 작업에 대한 액세스 권한을 부여하는 설정을 지정합니다.

<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceAuthorization>

구문

<serviceAuthorization impersonateCallerForAllOperations="Boolean"
                      principalPermissionMode="None/UseWindowsGroups/UseAspNetRoles/Custom"
                      roleProviderName="String"
                      serviceAuthorizationManagerType="String">
  <authorizationPolicies>
    <add policyType="String" />
  </authorizationPolicies>
</serviceAuthorization>

특성 및 요소

다음 섹션에서는 특성, 자식 요소 및 부모 요소에 대해 설명합니다.

특성

attribute Description
impersonateCallerForAllOperations 서비스의 모든 작업이 호출자를 가장하는지 여부를 지정하는 부울 값입니다. 기본값은 false입니다.

특정 서비스 작업이 호출자를 가장하면 지정된 서비스를 실행하기 전에 스레드 컨텍스트가 호출자 컨텍스트로 전환됩니다.
principalPermissionMode 서버에서 작업을 수행할 때 사용되는 사용자를 설정합니다. 여기에는 다음 값이 포함됩니다.

- None
- UseWindowsGroups
- UseAspNetRoles
- 사용자 지정

기본값은 UseWindowsGroups입니다. 값은 PrincipalPermissionMode 형식입니다. 이 특성 사용에 대한 자세한 내용은 방법: PrincipalPermissionAttribute 클래스로 액세스 제한을 참조하세요.
roleProviderName 역할 공급자의 이름을 지정하는 문자열로, WCF(Windows Communication Foundation) 애플리케이션에 대한 역할 정보를 제공합니다. 기본값은 빈 문자열입니다.
ServiceAuthorizationManagerType 서비스 인증 관리자의 형식을 포함하는 문자열입니다. 자세한 내용은 ServiceAuthorizationManager를 참조하세요.

자식 요소

요소 Description
authorizationPolicies add 키워드를 사용하여 추가할 수 있는 인증 정책 형식 컬렉션이 포함되어 있습니다. 각 인증 정책에는 문자열에 해당하는 단일 필수 policyType 특성이 포함되어 있습니다. 이 특성은 한 입력 클레임 집합을 다른 클레임 집합으로 변환할 수 있도록 하는 인증 정책을 지정합니다. 그에 따라 액세스 제어가 부여되거나 거부됩니다. 자세한 내용은 AuthorizationPolicyTypeElement를 참조하세요.

부모 요소

요소 Description
<behavior> 서비스의 동작에 대한 설정 컬렉션을 포함합니다.

설명

이 섹션에는 권한 부여, 사용자 지정 역할 공급자 및 가장에 영향을 주는 요소가 포함되어 있습니다.

principalPermissionMode 특성은 보호된 메서드의 사용 권한을 부여할 때 사용할 사용자 그룹을 지정합니다. 기본값은 UseWindowsGroups이며 리소스에 액세스하려는 ID에 대해 "Administrators" 또는 "Users"와 같은 Windows 그룹을 검색하도록 지정합니다. 또한 다음 코드와 같이 <system.web> 요소 아래에서 구성된 사용자 지정 역할 공급자를 사용하도록 UseAspNetRoles를 지정할 수도 있습니다.

<system.web>
  <membership defaultProvider="SqlProvider"
              userIsOnlineTimeWindow="15">
    <providers>
      <clear />
      <add name="SqlProvider"
           type="System.Web.Security.SqlMembershipProvider"
           connectionStringName="SqlConn"
           applicationName="MembershipProvider"
           enablePasswordRetrieval="false"
           enablePasswordReset="false"
           requiresQuestionAndAnswer="false"
           requiresUniqueEmail="true"
           passwordFormat="Hashed" />
    </providers>
  </membership>
  <!-- Other configuration code not shown. -->
</system.web>

다음 코드에서는 roleProviderName 특성과 함께 사용되는 principalPermissionMode를 보여 줍니다.

<behaviors>
  <behavior name="ServiceBehaviour">
    <serviceAuthorization principalPermissionMode ="UseAspNetRoles"
                          roleProviderName ="SqlProvider" />
  </behavior>
  <!-- Other configuration code not shown. -->
</behaviors>

이 구성 요소를 사용하는 자세한 예는 서비스 작업에 대한 액세스 권한 부여권한 부여 정책을 참조하세요.

참고 항목