<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。此值的型別為 PrincipalPermissionMode。如需使用這個屬性的詳細資訊,請參閱 How To: Restrict Access With the PrincipalPermissionAttribute。 |
roleProviderName |
字串,指定角色提供者的名稱,它會提供 Windows Communication Foundation (WCF) 應用程式的角色資訊。預設為空字串。 |
ServiceAuthorizationManagerType |
字串,其中包含服務授權管理員的型別。如需詳細資訊,請參閱 ServiceAuthorizationManager。 |
項目子系
項目 | 描述 |
---|---|
authorizationPolicies |
包含授權原則型別的集合,使用 add 關鍵字可加入這些型別。每個授權原則包含一個必要的 policyType 屬性字串。該屬性會指定授權原則,可讓一組輸入宣告轉換成另一組宣告。它可以做為授與或拒絕存取控制 (Access Control) 的基礎。如需詳細資訊,請參閱 AuthorizationPolicyTypeElement。 |
父項目
項目 | 描述 |
---|---|
包含服務行為之設定的集合。 |
備註
本章節包含會影響授權的項目、自訂的角色提供者,以及模擬。
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 Operations和Authorization 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