Partager via


<serviceAuthorization>, élément

Spécifie les paramètres qui autorisent l'accès à des opérations de service.

Hiérarchie de schéma

<system.serviceModel>
  <behaviors>
    <serviceBehaviors>
      <behavior> de <serviceBehaviors>
        <serviceAuthorization>, élément

Syntaxe

<serviceAuthorization
     impersonateCallerForAllOperations="Boolean"
      principalPermissionMode="None/UseWindowsGroups/UseAspNetRoles/Custom"
      roleProviderName="String"
      serviceAuthorizationManagerType="String" />
      <authorizationPolicies>
         <add policyType="String" />
      </authorizationPolicies>
</serviceAuthorization>

Attributs et éléments

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.

Attributs

Attribut Description

impersonateCallerForAllOperations

Valeur booléenne qui spécifie si toutes les opérations du service personnifient l'appelant. La valeur par défaut est false.

Lorsqu'une opération de service spécifique personnifie l'appelant, le contexte du thread est basculé sur le contexte de l'appelant avant d'exécuter le service spécifié.

principalPermissionMode

Définit l'entité de sécurité utilisée pour effectuer les opérations sur le serveur. Les valeurs sont les suivantes :

  • None

  • UseWindowsGroups

  • UseAspNetRoles

  • Custom

La valeur par défaut est UseWindowsGroups. La valeur est de type PrincipalPermissionMode. Pour plus d'informations sur l'utilisation de cet attribut, consultez How To: Restrict Access With the PrincipalPermissionAttribute.

roleProviderName

Chaîne qui spécifie le nom du fournisseur de rôles, qui fournit des informations de rôle pour une application de Windows Communication Foundation (WCF). La valeur par défaut est une chaîne vide.

ServiceAuthorizationManagerType

Chaîne qui contient le type du gestionnaire d'autorisations de service. Pour plus d'informations, consultez ServiceAuthorizationManager.

Éléments enfants

Élément Description

authorizationPolicies

Contient une collection des types de la stratégie d'autorisation, qui peuvent être ajoutés à l'aide du mot clé add. Chaque stratégie d'autorisation contient un attribut policyType requis unique qui est une chaîne. L'attribut spécifie une stratégie d'autorisation, qui active la transformation d'un jeu de revendications d'entrée dans un autre jeu de revendications. Le contrôle d'accès peut être accordé ou refusé en fonction de cette transformation. Pour plus d'informations, consultez AuthorizationPolicyTypeElement.

Éléments parents

Élément Description

<behavior> de <endpointBehaviors>

Contient une collection de paramètres pour le comportement d'un service.

Notes

Cette section contient des éléments qui affectent l'autorisation, les fournisseurs de rôles personnalisés et l'emprunt d'identité.

L'attribut principalPermissionMode spécifie les groupes d'utilisateurs à utiliser lors de l'autorisation d'utilisation d'une méthode protégée. La valeur par défaut (UseWindowsGroups) spécifie qu'une identité essayant d'accéder à une ressource est recherchée dans les groupes Windows, comme Administrateurs ou Utilisateurs. Vous pouvez également spécifier UseAspNetRoles pour utiliser un fournisseur de rôles personnalisé configuré sous l'élément <system.web>, tel qu'indiqué dans le code suivant.

<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>

Le code suivant présente le roleProviderName utilisé avec l'attribut principalPermissionMode.

<behaviors>
   <behavior name="ServiceBehaviour">
     <serviceAuthorization principalPermissionMode ="UseAspNetRoles" 
                           roleProviderName ="SqlProvider" />
   </behavior> 
<!-- Other configuration code not shown. -->
</behaviors>

Pour obtenir un exemple détaillé de l'utilisation de cet élément de configuration, consultez Authorizing Access to Service Operations et Authorization Policy.

Voir aussi

Référence

ServiceAuthorizationElement
ServiceAuthorizationBehavior

Autres ressources

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