<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 属性,此属性是一个字符串。该属性指定一个授权策略,可以将一组输入声明转换为另一组声明。可以根据该授权策略来授予或拒绝访问控制。有关更多信息,请参见 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