다음을 통해 공유


<serviceAuthorization> 요소

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

스키마 계층

<system.serviceModel>
  <behaviors>
    <serviceBehaviors>
      <serviceBehaviors>의 <behavior>
        <serviceAuthorization> 요소

구문

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

특성 및 요소

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

특성

특성 설명

impersonateCallerForAllOperations

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

특정 서비스 작업이 호출자를 가장하면 지정된 서비스를 실행하기 전에 스레드 컨텍스트가 호출자 컨텍스트로 전환됩니다.

principalPermissionMode

서버에서 작업을 수행할 때 사용되는 사용자를 설정합니다. 값은 다음과 같습니다.

  • 없음

  • UseWindowsGroups

  • UseAspNetRoles

  • Custom

기본값은 UseWindowsGroups입니다. 값은 PrincipalPermissionMode 형식입니다. 이 특성 사용에 대한 자세한 내용은 How To: Restrict Access With the PrincipalPermissionAttribute을 참조하십시오.

roleProviderName

역할 공급자의 이름을 지정하는 문자열로, WCF(Windows Communication Foundation) 응용 프로그램에 대한 역할 정보를 제공합니다. 기본값은 빈 문자열입니다.

ServiceAuthorizationManagerType

서비스 인증 관리자의 형식을 포함하는 문자열입니다. 자세한 내용은 ServiceAuthorizationManager를 참조하십시오.

자식 요소

요소 설명

authorizationPolicies

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

부모 요소

요소 설명

<endpointBehaviors>의 <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>

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

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

이 구성 요소 사용에 대한 자세한 예제는 Authorizing Access to Service OperationsAuthorization Policy을 참조하십시오.

참고 항목

참조

ServiceAuthorizationElement
ServiceAuthorizationBehavior

기타 리소스

Security Behaviors in WCF
Authorizing Access to Service Operations
How To: Create a Custom AuthorizationManager for a Service
How To: Restrict Access With the PrincipalPermissionAttribute
Authorization Policy