共用方式為


<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

字串,指定角色提供者的名稱,它會提供 Windows Communication Foundation (WCF) 應用程式的角色資訊。預設為空字串。

ServiceAuthorizationManagerType

字串,其中包含服務授權管理員的型別。如需詳細資訊,請參閱 ServiceAuthorizationManager

子項目

項目 描述

authorizationPolicies

包含授權原則型別的集合,使用 add 關鍵字可加入這些型別。每個授權原則包含一個必要的 policyType 屬性字串。該屬性會指定授權原則,可讓一組輸入宣告轉換成另一組宣告。它可以做為授與或拒絕存取控制 (Access Control) 的基礎。如需詳細資訊,請參閱 AuthorizationPolicyTypeElement

父項目

項目 描述

<endpointBehaviors> 的 <behavior>

包含服務行為之設定的集合。

備註

本章節包含會影響授權的項目、自訂的角色提供者,以及模擬。

principalPermissionMode 屬性會指定要在授權使用保護的方法時使用的使用者群組。預設值為 UseWindowsGroups,其指定了在 Windows 群組 (例如 "Administrators" 或 "Users") 中搜尋嘗試存取資源的身分識別。您也可以指定 UseAspNetRoles 以使用自訂的角色提供者,這個提供者會設定在 <system.web> 項目之下,如下列程式碼所示。

<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