Condividi tramite


Comportamento di controllo dei servizi

Questo esempio illustra come usare ServiceSecurityAuditBehavior per abilitare il controllo degli eventi di sicurezza durante le operazioni del servizio. Questo esempio è basato sulla guida introduttiva. Il servizio e il client sono stati configurati usando <wsHttpBinding>. L'attributo mode di <sicurezza> è stato impostato su Message e clientCredentialType è stato impostato su Windows. In questo esempio, il client è un'applicazione console (.exe) e il servizio è ospitato da Internet Information Services (IIS).

Nota

La procedura di installazione e le istruzioni di compilazione per questo esempio si trovano alla fine di questo argomento.

Il file di configurazione del servizio utilizza l'elemento serviceSecurityAudit per configurare il controllo.

<behaviors>
  <serviceBehaviors>
    <behavior name="CalculatorServiceBehavior">
      ...
<!-- serviceSecurityAudit allows specification of audit location
     and whether to audit success, failure or both. This service
     logs success and failure of messageAuthentication
     to the default location -->
     <serviceSecurityAudit auditLogLocation ="Default" messageAuthenticationAuditLevel = "SuccessOrFailure" />
    </behavior>
  </serviceBehaviors>
</behaviors>

Quando si esegue l'esempio, le richieste e le risposte dell'operazione vengono visualizzate nella finestra della console client. Premere INVIO nella finestra della console per arrestare il client.

I log di controllo risultanti possono essere visualizzati eseguendo il Visualizzatore eventi. Per impostazione predefinita, in Windows XP gli eventi di controllo possono essere visualizzati nel registro applicazioni, mentre in Windows Server 2003 e Windows Vista gli eventi di controllo possono essere visti nel registro sicurezza. In Windows Server 2008 e Windows 7 è possibile visualizzare gli eventi di controllo nei registri applicazioni e sicurezza. Il percorso degli eventi di controllo può essere specificato impostando l'attributo auditLogLocation su “Application” o “Security”. Per altre informazioni, vedere Procedura: Controllare gli eventi di sicurezza. Se gli eventi vengono scritti nel registro sicurezza, il valore di LocalSecurityPolicy-> per l'abilitazione dell'accesso all'oggetto deve essere impostato per "Success" e "Failure".

Nel registro eventi l'origine degli eventi di controllo corrisponde a "ServiceModel Audit 3.0.0.0". I record di controllo di autenticazione dei messaggi hanno una categoria "MessageAuthentication", mentre i record di controllo di autorizzazione del servizio hanno una categoria "ServiceAuthorization".

Gli eventi di controllo dell'autenticazione dei messaggi analizzano se il messaggio è stato manomesso, se è scaduto e se il client può essere autenticato presso il servizio. Tali eventi forniscono inoltre informazioni sull'esito positivo o meno dell'autenticazione nonché l'identità del client e dell'endpoint a cui è stato inviato il messaggio insieme all'azione associata a quest'ultimo.

Gli eventi di controllo dell'autorizzazione del servizio analizzano la decisione di autorizzazione adottata dalla gestione autorizzazioni del servizio. Tali eventi forniscono inoltre informazioni sull'esito positivo o meno dell'autorizzazione nonché l'identità del client, l'endpoint al quale è stato inviato il messaggio, l'azione associata al messaggio, l'identificatore del contesto di autorizzazione generato dal messaggio in arrivo e il tipo di gestione autorizzazioni che ha preso la decisione relativa all'accesso.

Per impostare, compilare ed eseguire l'esempio

  1. Assicurarsi di aver eseguito la Procedura di installazione singola per gli esempi di Windows Communication Foundation.

  2. Per compilare l'edizione in C# o Visual Basic .NET della soluzione, seguire le istruzioni in Building the Windows Communication Foundation Samples.

  3. Per eseguire l'esempio in un solo computer o tra computer diversi, seguire le istruzioni in Esecuzione degli esempi di Windows Communication Foundation.

Vedi anche