Элемент <serviceAuthorization>
Задает параметры авторизации доступа к операциям службы.
Иерархия схемы
<system.serviceModel>
<варианты поведения>
<serviceBehaviors>
<behavior> для <serviceBehaviors>
Элемент <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, как «Администраторы» или «Пользователи». Также можно задать атрибут 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>
В следующем примере показано использование элемента roleProviderName с атрибутом principalPermissionMode.
<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