Поделиться через


Элемент <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

  • UseAspNetRoles

  • Custom

Значение по умолчанию — «UseWindowsGroups». Это значение типа PrincipalPermissionMode. Дополнительные сведения об использовании этого атрибута см. в разделе How To: Restrict Access With the PrincipalPermissionAttribute.

roleProviderName

Строка, указывающая имя поставщика роли, который предоставляет сведения о роли для приложения Windows Communication Foundation (WCF). Значение по умолчанию — пустая строка.

ServiceAuthorizationManagerType

Строка, содержащая имя типа диспетчера авторизации служб. Дополнительные сведения см. в разделе ServiceAuthorizationManager.

Дочерние элементы

Элемент Описание

authorizationPolicies

Содержит коллекцию типов политик авторизации, которые можно добавить с помощью ключевого словаadd. Каждая политика авторизации содержит один обязательный атрибут policyType, который является строкой. Этот атрибут определяет политику авторизации, которая позволяет преобразовывать один набор входных требований в другой набор требований. В зависимости от этого может быть предоставлено управление доступом или отказано в предоставлении управления доступом. Дополнительные сведения см. в разделе AuthorizationPolicyTypeElement.

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

Элемент Описание

<behavior> для <endpointBehaviors>

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

Замечания

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

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