<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>
如需了解使用此組態元素的詳細範例,請參閱授權存取服務作業和授權原則。