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

Attribute

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

Der Standardwert ist UseWindowsGroups. Der Wert ist vom Typ PrincipalPermissionMode. Weitere Informationen zur Verwendung dieses Attributs finden Sie unter Gewusst wie: Einschränken des Zugriffs mit der PrincipalPermissionAttribute-Klasse.
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> Enthält eine Auflistung der Einstellungen für das Verhalten eines Diensts.

Bemerkungen

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 Autorisieren des Zugriffs auf Dienstvorgänge und Autorisierungsrichtlinie.

Siehe auch