다음을 통해 공유


<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

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

  • None
  • 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