Condividi tramite


<Elemento serviceAuthorization>

Specifica le impostazioni che autorizzano l'accesso alle operazioni del servizio

<configurazione>
   <system.serviceModel>
     <Comportamenti>
       <Servicebehaviors>
         <comportamento>
           <autorizzazione del servizio>

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 gli attributi, gli elementi figlio e gli elementi padre:

Attributes

Attribute Description
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 passato al contesto del chiamante prima di eseguire il servizio specificato.
Principalpermissionmode Imposta l'entità utilizzata per eseguire operazioni sul server. Sono inclusi i valori seguenti:

- None
- UseWindowsGroups
- UseAspNetRoles
- Custom

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 Stringa che specifica il nome del provider di ruoli, che fornisce informazioni sul ruolo per un'applicazione Windows Communication Foundation (WCF). Il valore predefinito è una stringa vuota.
ServiceAuthorizationManagerType Stringa contenente il tipo di gestione autorizzazioni del servizio. Per altre informazioni, vedere ServiceAuthorizationManager.

Elementi figlio

Elemento Description
authorizationPolicies Contiene una raccolta di tipi di criteri di autorizzazione, che possono essere aggiunti usando la add parola chiave . Ogni criterio di autorizzazione contiene un singolo attributo obbligatorio policyType 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. Il controllo di accesso può essere concesso o negato in base a questo. Per altre informazioni, vedere AuthorizationPolicyTypeElement.

Elementi padre

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

Osservazioni:

Questa sezione contiene elementi che influiscono sull'autorizzazione, i provider di ruoli personalizzati e la rappresentazione.

L'attributo principalPermissionMode specifica i gruppi di utenti da utilizzare quando si autorizza l'uso di un metodo protetto. Il valore predefinito è UseWindowsGroups e specifica che i gruppi di Windows, ad esempio "Administrators" o "Users", vengono cercati un'identità che tenta di accedere a una risorsa. È 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 illustra 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.

Vedere anche