Udostępnij za pośrednictwem


Kontekst zabezpieczeń

Konteksty zabezpieczeń umożliwiają utworzenie kontekstu zabezpieczeń komunikatów zgodnie z WS-SecureConversation. Ten kontekst może następnie służyć do zabezpieczania komunikatów jako alternatywy dla bezpieczeństwa jednorazowego, w którym poświadczenia są przesyłane dla każdego żądania. Ustalony kontekst zabezpieczeń to bardziej wydajna metoda zabezpieczania komunikatów w przypadku wymiany wielu komunikatów.

Konteksty zabezpieczeń wymagają obecności poświadczeń zabezpieczeń bootstrap używanych do zabezpieczania komunikatów wysyłanych w kontekście. W tym celu mogą być używane struktury WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING, WS_XML_TOKEN_MESSAGE_SECURITY_BINDINGi WS_USERNAME_MESSAGE_SECURITY_BINDING.

Konteksty zabezpieczeń są funkcją zabezpieczeń komunikatów i są konfigurowane za pomocą powiązań zabezpieczeń komunikatów.

Klient

Po stronie klienta kontekst zabezpieczeń jest powiązany z określonym kanałem. Jest on skonfigurowany przy użyciu WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING. Zachowanie i okres istnienia kontekstu są określane przez kanał. Po wysłaniu pierwszego komunikatu w kanale zostanie ustanowiony kontekst zabezpieczeń. Następnie kontekst jest aktywnie odnawiany w konfigurowalnym interwale. Jeśli serwer zwraca błąd wskazujący, że kontekst wymaga odnowienia, kontekst jest odnawiany po wysłaniu następnego komunikatu. Jeśli kanał jest w stanie otwierania, kontekst zostanie anulowany przez komunikat anulowania po zamknięciu kanału.

Serwer

Na serwerze kontekst zabezpieczeń jest skonfigurowany tak samo jak na kliencie. Nie jest jednak powiązany z żadnym konkretnym kanałem. Zamiast tego wszystkie kanały utworzone dla odbiornika, który ma zestaw WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING, mogą odbierać komunikaty z dowolnymi kontekstami zabezpieczeń, które zostały ustanowione na kanałach tego odbiornika.

Gdy komunikat pojawi się w kanale obsługującym konteksty zabezpieczeń, kontekst używany przez ten komunikat może być uzyskiwany przez wywołanie funkcjiWsGetMessageProperty z WS_MESSAGE_PROPERTY_SECURITY_CONTEXT. Pobraną wartość można używać z WsRevokeSecurityContext i WsGetSecurityContextProperty.

Metadane

Struktura WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING_CONSTRAINT służy do wyodrębniania zasad kontekstu zabezpieczeń z metadanych. Aby uzyskać więcej informacji, zobacz Metadata Import.

Następujące elementy interfejsu API są używane z kontekstami zabezpieczeń.

Wyliczenie Opis
WS_SECURITY_CONTEXT_PROPERTY_ID Identyfikuje właściwość obiektu kontekstu zabezpieczeń.

 

Funkcja Opis
WsGetSecurityContextProperty Pobiera właściwość określonego kontekstu zabezpieczeń.
WsRevokeSecurityContext Odwołuje kontekst zabezpieczeń.

 

Uchwyt Opis
WS_SECURITY_CONTEXT Nieprzezroczystym typem używanym do odwołowania się do obiektu kontekstu zabezpieczeń.

 

Struktura Opis
WS_SECURITY_CONTEXT_PROPERTY Definiuje właściwość WS_SECURITY_CONTEXT.