Маскировка (службы компонентов)

Существует два компонента, определяющих поведение олицетворения: центр, который клиент явно предоставляет серверу уровень олицетворения и способность сервера маскировать собственное удостоверение при выполнении вызовов от имени клиента. Эта последняя возможность называется маскировкой. Маскировка связана с удостоверением безопасности, с которым сервер выполняет вызовы.

Когда сервер олицетворяет клиент, он имеет прямой доступ к учетным данным безопасности клиента. В очень локальном смысле поток сервера берет на себя удостоверение клиента. Но когда сервер выполняет вызовы за пределами процесса, удостоверение клиента не обязательно будет проецироваться как удостоверение, под которым выполняется вызов.

Если маскировка включена, вызовы, выполняемые сервером олицетворение клиента, можно выполнить под удостоверением клиента. При отключении маскировки вызовы сервера будут выполняться под удостоверением сервера.

Кроме того, существует две формы маскировки, статического плащирования и динамического плащирования, которые можно описать следующим образом:

  • Олицетворение со статическим маскированием. Исходное удостоверение клиента (реализованное как маркер потока сервера) может быть представлено один раз на подчиненный сервер при вызове с помощью CoSetProxyBlanket, задав исходное удостоверение клиента один раз на прокси-сервере, и этот маркер потока будет использоваться при последующих вызовах методов.
  • Олицетворение с динамической маскировкой. Исходное удостоверение клиента обнаруживается как маркер потока сервера на каждом вызове метода подчиненного сервера. Фактически представленная идентификация может быть динамически определена. Затраты, необходимые для этого, могут быть значительно дороже.

Для приложений COM+ конфигурация по умолчанию предназначена для динамической маскировки. Это можно изменить программным и административным образом. Хотя динамическое маскирование может иметь издержки на производительность, она обеспечивает гибкость, которая обычно требуется в обстоятельствах, которые требуют использования олицетворения в первую очередь.

Дополнительные сведения о маскировке и точном описании возможных поведений см. в документации ПО COM.

Олицетворение и делегирование клиента

Требования на стороне клиента для олицетворения

Требования на стороне сервера для олицетворения