<serviceAuthorization> 項目

指定設定,這些設定會將存取權授權給服務作業。

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

Syntax

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

屬性和元素

下列各節會描述屬性、子項目及父元素:

屬性

屬性 描述
impersonateCallerForAllOperations 布林值,指定服務中所有作業是否都模擬呼叫端。 預設為 false

當特定服務作業模擬呼叫端時,執行緒內容會在執行指定的服務之前切換為呼叫端內容。
principalPermissionMode 設定用於在伺服器上執行作業的原則。 包括下列值:

- 無
- UseWindowsGroups
- UseAspNetRoles
- 自訂

預設值為 UseWindowsGroups。 此值的型別為 PrincipalPermissionMode。 如需了解如何使用此屬性的詳細資訊,請參閱操作說明:利用 PrincipalPermissionAttribute 類別限制存取
roleProviderName 字串,指定角色提供者的名稱,它會提供 Windows Communication Foundation (WCF) 應用程式的角色資訊。 預設為空字串。
ServiceAuthorizationManagerType 字串,其中包含服務授權管理員的型別。 如需詳細資訊,請參閱ServiceAuthorizationManager

子元素

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

父元素

元素 描述
<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>

如需了解使用此組態元素的詳細範例,請參閱授權存取服務作業授權原則

另請參閱