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. |