Freigeben über


<serviceAuthorization>-Element

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

<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceAuthorization>

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 und übergeordnete Elemente beschrieben:

Attribute

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

Wenn ein bestimmter Dienstvorgang die Identität des Aufrufers angibt, wird der Threadkontext in den Aufruferkontext umgeschaltet, bevor der angegebene Dienst ausgeführt wird.
Principalpermissionmode Legt den Prinzipal fest, der zum Ausführen von Vorgängen auf dem Server verwendet wird. 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 Class.
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 enthält. Weitere Informationen finden Sie unter ServiceAuthorizationManager.

Untergeordnete Elemente

Element Description
authorizationPolicies Enthält eine Auflistung von Autorisierungsrichtlinientypen, die mithilfe des add Schlüsselworts hinzugefügt werden können. Jede Autorisierungsrichtlinie enthält ein einzelnes erforderliches policyType Attribut, das eine Zeichenfolge ist. Das Attribut gibt eine Autorisierungsrichtlinie an, die die Umwandlung einer Gruppe von Eingabeansprüchen in einen anderen Satz von Ansprüchen ermöglicht. Die Zugriffssteuerung kann basierend darauf gewährt oder verweigert werden. Weitere Informationen finden Sie unter AuthorizationPolicyTypeElement.

Übergeordnete Elemente

Element Description
<Benehmen> Enthält eine Auflistung von Einstellungen für das Verhalten eines Diensts.

Bemerkungen

Dieser Abschnitt enthält Elemente, die sich auf Autorisierung, benutzerdefinierte Rollenanbieter und Identitätswechsel auswirken.

Das principalPermissionMode Attribut gibt die Benutzergruppen an, die beim Autorisieren der Verwendung einer geschützten Methode verwendet werden sollen. Der Standardwert ist UseWindowsGroups und gibt an, dass Windows-Gruppen, z. B. "Administratoren" oder "Benutzer", nach einer Identität gesucht werden, die versucht, auf eine Ressource zuzugreifen. Sie können auch angeben UseAspNetRoles , dass ein benutzerdefinierter Rollenanbieter verwendet wird, der unter dem <System.web-Element> konfiguriert ist, wie im folgenden Code gezeigt:

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

Der folgende Code zeigt den roleProviderName mit dem principalPermissionMode Attribut verwendeten Code:

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

Ein detailliertes Beispiel für die Verwendung dieses Konfigurationselements finden Sie unter Autorisieren des Zugriffs auf Dienstvorgänge und Autorisierungsrichtlinie.

Siehe auch