Elemento <serviceAuthorization>

Specifica impostazioni che autorizzano accesso alle operazioni del servizio

<system.serviceModel>
  <comportamenti>
    <comportamentiServizio>
      <behavior> di <serviceBehaviors>
        Elemento <serviceAuthorization>

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

Attributi ed elementi

Attributi

Attributo Descrizione

impersonateCallerForAllOperations

Valore booleano che specifica se tutte le operazioni nel servizio rappresentano il chiamante. L'impostazione predefinita è 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 protezione utilizzata per eseguire operazioni nel server. Di seguito vengono elencati i valori:

  • None
  • UseWindowsGroups
  • UseAspNetRoles
  • Custom

Il valore predefinito è UseWindowsGroups. Il valore è di tipo PrincipalPermissionMode. Per ulteriori informazioni sull'utilizzo di questo attributo, vedere How To: Restrict Access With the 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). L'impostazione predefinita è una stringa vuota.

ServiceAuthorizationManagerType

Stringa che contiene il tipo di gestione autorizzazione del servizio. Per ulteriori informazioni, vedere ServiceAuthorizationManager.

Elementi figlio

Elemento Descrizione

authorizationPolicies

Contiene un insieme 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 insieme di attestazioni di input in un altro insieme di attestazioni. Su questa base può essere concesso o negato il controllo di accesso. Per ulteriori informazioni, vedere AuthorizationPolicyTypeElement.

Elementi padre

Elemento Descrizione

<behavior> di <endpointBehaviors>

Contiene un insieme di impostazioni per il comportamento di un servizio.

Osservazioni

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

L'attributo principalPermissionMode specifica i gruppi di utenti da utilizzare quando si autorizza l'utilizzo 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". È inoltre possibile specificare UseAspNetRoles per utilizzare 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>

Nell'esempio di codice seguente viene illustrato l'utilizzo di un elemento roleProviderName 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'utilizzo di questo elemento di configurazione, vedere Authorizing Access to Service Operations e Authorization Policy.

Vedere anche

Riferimenti

ServiceAuthorizationElement
ServiceAuthorizationBehavior

Altre risorse

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