<serviceAuthorization> 元素
指定用于授予服务操作访问权限的设置。
configuration
system.serviceModel
behaviors
<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 - UseAspNetRoles - Custom 默认值为 UseWindowsGroups。 此值的类型为 PrincipalPermissionMode。 有关使用此属性的详细信息,请参阅 如何:使用 PrincipalPermissionAttribute 类限制访问权限。 |
roleProviderName | 一个字符串,指定为 Windows Communication Foundation (WCF) 应用程序提供角色信息的角色提供程序的名称。 默认值为空字符串。 |
ServiceAuthorizationManagerType | 一个包含服务授权管理器的类型的字符串。 有关详细信息,请参阅 ServiceAuthorizationManager。 |
子元素
元素 | 说明 |
---|---|
authorizationPolicies | 包含可使用 add 关键字添加的授权策略类型的集合。 每个授权类型都包含一个所需的 policyType 属性,此属性是一个字符串。 该属性指定一个授权策略,可以将一组输入声明转换为另一组声明。 可以根据该授权策略来授予或拒绝访问控制。 有关详细信息,请参阅 AuthorizationPolicyTypeElement。 |
父元素
元素 | 说明 |
---|---|
<behavior> | 包含服务行为的设置集合。 |
备注
本节包含一些影响授权、自定义角色提供程序和模拟的元素。
principalPermissionMode
属性指定在授权使用受保护方法时要使用的用户组。 默认值为 UseWindowsGroups
,该值指定在 Windows 组(例如,“Administrators”或“Users”)中搜索试图访问某个资源的标识。 你还可以指定 UseAspNetRoles
以使用自定义角色提供程序,该提供程序在
<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>
下面的代码演示与 roleProviderName
特性一起使用的 principalPermissionMode
:
<behaviors>
<behavior name="ServiceBehaviour">
<serviceAuthorization principalPermissionMode ="UseAspNetRoles"
roleProviderName ="SqlProvider" />
</behavior>
<!-- Other configuration code not shown. -->
</behaviors>
有关使用此配置元素的详细示例,请参阅 授权访问服务操作 和 授权策略。