Dela via


Säkerhetskontext

Säkerhetskontexter gör det möjligt att upprätta en meddelandesäkerhetskontext enligt WS-SecureConversation. Den kontexten kan sedan användas för att skydda meddelanden som ett alternativ till enstaka säkerhet där autentiseringsuppgifterna överförs för varje begäran. Den etablerade säkerhetskontexten är en effektivare metod för att skydda meddelanden när flera meddelanden utbyts.

Säkerhetskontexter kräver förekomsten av bootstrap-säkerhetsautentiseringsuppgifter som används för att skydda de meddelanden som skickas i kontexten. Strukturerna WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING, WS_XML_TOKEN_MESSAGE_SECURITY_BINDINGoch WS_USERNAME_MESSAGE_SECURITY_BINDING kan användas för detta ändamål.

Säkerhetskontexter är en funktion för meddelandesäkerhet och konfigureras med hjälp av meddelandesäkerhetsbindningar.

Klient

På klientsidan är säkerhetskontexten kopplad till en viss kanal. Den konfigureras med hjälp av WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING. Beteendet och livslängden för kontexten bestäms av kanalen. När det första meddelandet skickas på kanalen upprättas säkerhetskontexten. Därefter förnyas kontexten proaktivt med ett konfigurerbart intervall. Om servern returnerar ett fel som anger att kontexten kräver förnyelse förnyas kontexten när nästa meddelande skickas. Om kanalen är i öppet tillstånd avbryts kontexten av ett avbrutet meddelande när kanalen stängs.

Server

På servern konfigureras en säkerhetskontext på samma sätt som på klienten. Det är dock inte kopplat till någon viss kanal. I stället kan alla kanaler som skapats för lyssnaren som har den WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING uppsättningen ta emot meddelanden med någon av de säkerhetskontexter som har upprättats i lyssnarens kanaler.

När ett meddelande kommer till en kanal som stöder säkerhetskontexter kan kontexten som används av meddelandet hämtas genom att anropa funktionen WsGetMessageProperty med funktionen WS_MESSAGE_PROPERTY_SECURITY_CONTEXT. Det hämtade värdet kan användas med WsRevokeSecurityContext och WsGetSecurityContextProperty.

Metadata

Den WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING_CONSTRAINT strukturen används för att extrahera säkerhetskontextprincipen från metadata. Mer information finns i Importera metadata.

Följande API-element används med säkerhetskontexter.

Uppräkning Beskrivning
WS_SECURITY_CONTEXT_PROPERTY_ID Identifierar en egenskap för ett säkerhetskontextobjekt.

 

Funktion Beskrivning
WsGetSecurityContextProperty Hämtar en egenskap för den angivna säkerhetskontexten.
WsRevokeSecurityContext Återkallar en säkerhetskontext.

 

Handtag Beskrivning
WS_SECURITY_CONTEXT En ogenomskinlig typ som används för att referera till ett säkerhetskontextobjekt.

 

Struktur Beskrivning
WS_SECURITY_CONTEXT_PROPERTY Definierar en egenskap för en WS_SECURITY_CONTEXT.