Маскировка (службы компонентов)
Существует два ингредиента в определении поведения олицетворения: центр, который клиент явно предоставляет серверу уровень олицетворения и способность сервера маскировать собственное удостоверение при вызове от имени клиента. Эта последняя возможность называется маскировкой. Маскировка связана с удостоверением безопасности, под которым выполняется вызов сервера.
Когда сервер олицетворяет клиента, он имеет прямой доступ к учетным данным безопасности клиента. В очень локальном смысле поток сервера принимает удостоверение клиента. Но когда сервер выполняет вызовы за пределами процесса, удостоверение клиента не обязательно будет проецироваться как удостоверение, под которым выполняется вызов.
При включении маскировки вызовы сервера, олицетворения клиента, можно выполнять под удостоверением клиента. При отключении маскировки вызовы сервера будут выполняться под удостоверением сервера.
Кроме того, существует две формы плащи, статическая плащ и динамическая маскировка, которые можно описать следующим образом:
- Олицетворение со статическим маскированием. Исходное удостоверение клиента (реализованное как маркер потока сервера) может быть представлено один раз на подчиненный сервер при вызове с помощью CoSetProxyBlanket, установив исходное удостоверение клиента один раз на прокси-сервере и этот маркер потока будет использоваться при последующих вызовах метода.
- Олицетворение с динамической маскировкой. Исходное удостоверение клиента обнаруживается как маркер потока сервера на каждом вызове метода нижестоящего сервера. По сути, отображаемое удостоверение можно динамически определить. Затраты, необходимые для этого, могут быть значительно дороже.
Для приложений COM+ конфигурация по умолчанию предназначена для динамической маскировки. Это можно изменить программным и административным способом. Хотя динамическая маскировка может иметь нагрузку на производительность, она обеспечивает гибкость, которая обычно требуется в обстоятельствах, требующих использования олицетворения в первую очередь.
Дополнительные сведения о маскировке и точном описании возможных действий см. в документации ПО COM.