Condividi tramite


Contesto di sicurezza

I contesti di sicurezza consentono di stabilire un contesto di sicurezza dei messaggi in base a WS-SecureConversation. Tale contesto può quindi essere usato per proteggere i messaggi come alternativa alla sicurezza monofase in cui le credenziali vengono trasmesse per ogni richiesta. Il contesto di sicurezza stabilito è un metodo più efficiente per proteggere i messaggi quando vengono scambiati più messaggi.

I contesti di sicurezza richiedono la presenza di credenziali di sicurezza bootstrap usate per proteggere i messaggi inviati nel contesto. Le strutture WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING, WS_XML_TOKEN_MESSAGE_SECURITY_BINDINGe WS_USERNAME_MESSAGE_SECURITY_BINDING possono essere usate a questo scopo.

I contesti di sicurezza sono una funzionalità di sicurezza dei messaggi e sono configurati tramite associazioni di sicurezza dei messaggi.

Cliente

Sul lato client, il contesto di sicurezza è associato a un determinato canale. Viene configurato usando il WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING. Il comportamento e la durata del contesto sono determinati dal canale. Quando il primo messaggio viene inviato sul canale, viene stabilito il contesto di sicurezza. Successivamente, il contesto viene rinnovato in modo proattivo a un intervallo configurabile. Se il server restituisce un errore che indica che il contesto richiede il rinnovo, il contesto viene rinnovato quando viene inviato il messaggio successivo. Se il canale si trova nello stato aperto, il contesto viene annullato da un messaggio di annullamento quando il canale viene chiuso.

Server

Nel server, un contesto di sicurezza viene configurato allo stesso modo del client. Tuttavia, non è legato ad alcun canale specifico. Tutti i canali creati per il listener con il set di WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING sono invece in grado di ricevere messaggi con qualsiasi contesto di sicurezza stabilito nei canali del listener.

Quando un messaggio arriva su un canale che supporta i contesti di sicurezza, il contesto usato da tale messaggio può essere ottenuto chiamando la funzione WsGetMessageProperty con il WS_MESSAGE_PROPERTY_SECURITY_CONTEXT. Il valore recuperato può essere usato con WsRevokeSecurityContext e WsGetSecurityContextContextProperty.

Metadati

La struttura WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING_CONSTRAINT viene usata per estrarre i criteri del contesto di sicurezza dai metadati. Per altre informazioni, vedere 'importazione di metadati.

Gli elementi API seguenti vengono usati con i contesti di sicurezza.

Enumerazione Descrizione
WS_SECURITY_CONTEXT_PROPERTY_ID Identifica una proprietà di un oggetto contesto di sicurezza.

 

Funzione Descrizione
WsGetSecurityContextProperty Ottiene una proprietà del contesto di sicurezza specificato.
WsRevokeSecurityContext Revoca un contesto di sicurezza.

 

Maneggiare Descrizione
WS_SECURITY_CONTEXT Tipo opaco utilizzato per fare riferimento a un oggetto contesto di sicurezza.

 

Struttura Descrizione
WS_SECURITY_CONTEXT_PROPERTY Definisce una proprietà di un WS_SECURITY_CONTEXT.