Элемент <serviceAuthorization>

Задает параметры авторизации доступа к операциям службы.

<Конфигурации>
  <system.serviceModel>
    <Поведения>
      <serviceBehaviors>
        <Поведение>
          <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.

Родительские элементы

Элемент Описание
<Поведение> Содержит коллекцию параметров для поведения службы.

Комментарии

Этот раздел содержит элементы, влияющие на авторизацию, поставщики пользовательских ролей и олицетворение.

Атрибут 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>

Подробный пример использования этого элемента конфигурации см. в разделах Авторизация доступа к операциям службы и Политика авторизации.

См. также раздел