<serviceAuthorization>-Element

Gibt Einstellungen an, die den Zugriff auf Dienstvorgänge autorisieren.

Schemahierarchie

<<system.serviceModel>>
  <behaviors>
    <serviceBehaviors>
      <behavior> von <serviceBehaviors>
        <serviceAuthorization>-Element

Syntax

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

Attribute und Elemente

In den folgenden Abschnitten werden Attribute, untergeordnete Elemente sowie übergeordnete Elemente beschrieben.

Attribute

Attribut Beschreibung

impersonateCallerForAllOperations

Ein boolescher Wert, der angibt, ob alle Vorgänge im Dienst die Identität des Aufrufers annehmen. Der Standardwert ist false.

Wenn ein bestimmter Dienstvorgang die Identität des Aufrufers annimmt, wird der Threadkontext zum Aufruferkontext geändert, bevor der angegebene Dienst ausgeführt wird.

principalPermissionMode

Legt den Prinzipal fest, der verwendet wird, um Vorgänge auf dem Server auszuführen. Folgende Werte sind gültig:

  • None

  • UseWindowsGroups

  • UseAspNetRoles

  • Custom

Der Standardwert ist UseWindowsGroups. Der Wert ist vom Typ PrincipalPermissionMode. Weitere Informationen zur Verwendung dieses Attributs finden Sie unter How To: Restrict Access With the PrincipalPermissionAttribute.

roleProviderName

Eine Zeichenfolge, die den Namen des Rollenanbieters angibt, der Rolleninformationen für eine Windows Communication Foundation (WCF)-Anwendung bereitstellt. Der Standardwert ist eine leere Zeichenfolge.

ServiceAuthorizationManagerType

Eine Zeichenfolge, die den Typ des Dienstautorisierungs-Managers angibt. Weitere Informationen finden Sie unter ServiceAuthorizationManager.

Untergeordnete Elemente

Element Beschreibung

authorizationPolicies

Enthält eine Auflistung der Autorisierungsrichtlinien-Typen, die mithilfe des add-Schlüsselworts hinzugefügt werden können. Jede Autorisierungsrichtlinie enthält ein einziges erforderliches policyType-Attribut, bei dem es sich um eine Zeichenfolge handelt. Das Attribut gibt eine Autorisierungsrichtlinie an, die die Transformation einer Gruppe von Eingabeansprüchen in eine andere Gruppe von Eingabeansprüchen ermöglicht. Die Zugriffssteuerung kann basierend darauf gewährt oder verweigert werden. Weitere Informationen finden Sie unter AuthorizationPolicyTypeElement.

Übergeordnete Elemente

Element Beschreibung

<behavior> von <endpointBehaviors>

Enthält eine Auflistung der Einstellungen für das Verhalten eines Diensts.

Hinweise

Dieser Abschnitt enthält Elemente, die die Autorisierung, benutzerspezifische Rollenanbieter und den Identitätswechsel beeinflussen.

Das principalPermissionMode-Attribut gibt die Benutzergruppen an, mit denen die Verwendung einer geschützten Methode autorisiert wird. Der Standardwert lautet UseWindowsGroups. Er gibt an, das in Windows-Gruppen wie "Administratoren" oder "Benutzer" nach einer Identität gesucht wird, die versucht, auf eine Ressource zuzugreifen. Sie können auch UseAspNetRoles angeben, damit ein benutzerspezifischer, unter dem <system.web>-Element konfigurierter Rollenanbieter verwendet wird, wie im folgenden Code zu sehen ist:

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

Im folgenden Code wird roleProviderName mit dem principalPermissionMode-Attribut verwendet.

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

Ein ausführliches Beispiel für die Verwendung dieses Konfigurationselements finden Sie unter Authorizing Access to Service Operations und Authorization Policy.

Siehe auch

Verweis

ServiceAuthorizationElement
ServiceAuthorizationBehavior

Weitere Ressourcen

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