Elemento <serviceAuthorization>

Specifica impostazioni che autorizzano accesso alle operazioni del servizio

<Configurazione>
  <system.serviceModel>
    <Comportamenti>
      <Servicebehaviors>
        <Comportamento>
          <serviceAuthorization>

Sintassi

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

Attributi ed elementi

Le sezioni seguenti descrivono attributi, elementi figlio e elementi padre:

Attributi

Attributo Descrizione
impersonateCallerForAllOperations Valore booleano che specifica se tutte le operazioni nel servizio rappresentano il chiamante. Il valore predefinito è false.

Quando un'operazione del servizio specifica rappresenta il chiamante, il contesto del thread viene commutato nel contesto del chiamante prima dell'esecuzione del servizio specificato.
principalPermissionMode Imposta l'entità di sicurezza usata per eseguire operazioni nel server. Sono inclusi i valori seguenti:

-Nessuno
- UseWindowsGroups
- UseAspNetRoles
- Personalizzato

Il valore predefinito è UseWindowsGroups. Il valore è di tipo PrincipalPermissionMode. Per altre informazioni sull'uso di questo attributo, vedere Procedura: Limitare l'accesso con la classe PrincipalPermissionAttribute.
roleProviderName Una stringa che specifica il nome del provider di ruoli che fornisce informazioni sui ruoli per un'applicazione di Windows Communication Foundation (WCF). Il valore predefinito è una stringa vuota.
ServiceAuthorizationManagerType Stringa che contiene il tipo di gestione autorizzazione del servizio. Per altre informazioni, vedere ServiceAuthorizationManager.

Elementi figlio

Elemento Descrizione
authorizationPolicies Contiene una raccolta di tipi di criteri di autorizzazione che possono essere aggiunti mediante la parola chiave add. Ciascun criterio di autorizzazione contiene un solo attributo policyType obbligatorio che è una stringa. L'attributo specifica un criterio di autorizzazione che consente la trasformazione di un set di attestazioni di input in un altro set di attestazioni. Su questa base può essere concesso o negato il controllo di accesso. Per altre informazioni, vedere AuthorizationPolicyTypeElement.

Elementi padre

Elemento Descrizione
<Comportamento> Contiene una raccolta di impostazioni per il comportamento di un servizio.

Commenti

Questa sezione contiene elementi che influiscono su autorizzazioni, provider del ruolo personalizzati e rappresentazioni.

L'attributo principalPermissionMode specifica i gruppi di utenti da usare quando si autorizza l'uso di un metodo protetto. Il valore predefinito è UseWindowsGroups e specifica che la ricerca degli ID che tentano di accedere a una determinata risorsa viene eseguita nei gruppi di Windows, ad esempio "Administrators" o "Users". È anche possibile specificare UseAspNetRoles di usare un provider di ruoli personalizzato configurato nell'elemento <system.web> , come illustrato nel codice seguente:

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

Il codice seguente mostra l'oggetto roleProviderName usato con l'attributo principalPermissionMode :

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

Per un esempio dettagliato dell'uso di questo elemento di configurazione, vedere Autorizzazione dell'accesso alle operazioni del servizio e ai criteri di autorizzazione.

Vedi anche