Cloaking (Komponentendienste)

Es gibt zwei Bestandteile bei der Bestimmung des Verhaltens des Identitätswechsels: die Autorität, die der Client dem Server explizit über eine Identitätswechselebene gewährt, und die Fähigkeit des Servers, seine eigene Identität zu maskieren, wenn Aufrufe im Auftrag des Clients ausgeführt werden. Letztere Funktion wird als Cloaking bezeichnet. Das Cloaking hat mit der Sicherheitsidentität zu tun, unter der der Server aufruft.

Wenn der Server die Identität des Clients angibt, hat er direkten Zugriff auf die Sicherheitsanmeldeinformationen des Clients. In einem sehr lokalen Sinne übernimmt der Serverthread die Identität des Clients. Wenn der Server jedoch Aufrufe außerhalb seines Prozesses durchführt, wird die Clientidentität nicht unbedingt als die Identität projiziert, unter der der Aufruf erfolgt.

Wenn das Cloaking aktiviert ist, können Aufrufe des Servers, der die Identität des Clients angibt, unter der Identität des Clients ausgeführt werden. Wenn das Cloaking deaktiviert ist, werden Aufrufe des Servers unter der Identität des Servers ausgeführt.

Darüber hinaus gibt es zwei Formen der Ummantelung, statische Ummantelung und dynamische Ummantelung, die wie folgt beschrieben werden können:

  • Identitätswechsel mit statischer Ummantelung. Die ursprüngliche Clientidentität (realisiert als Serverthreadtoken) kann einmal bei einem Aufruf mithilfe von CoSetProxyBlanket einem Downstreamserver angezeigt werden, wobei die ursprüngliche Clientidentität einmal auf dem Proxy festgelegt wird, und dieses Threadtoken wird bei nachfolgenden Methodenaufrufen verwendet.
  • Identitätswechsel mit dynamischer Ummantelung. Die ursprüngliche Clientidentität wird als Serverthreadtoken bei jedem Methodenaufruf des Downstreamservers ermittelt. Tatsächlich kann die identität, die präsentiert wird, dynamisch bestimmt werden. Der dafür erforderliche Mehraufwand kann erheblich teurer sein.

Für COM+-Anwendungen ist die Standardkonfiguration für dynamische Cloaking-Funktionen. Dies kann programmgesteuert und administrativ geändert werden. Dynamisches Cloaking kann zwar Leistungsaufwand verursachen, bietet aber die Flexibilität, die normalerweise durch Umstände erforderlich ist, die überhaupt einen Identitätswechsel erfordern.

Weitere Informationen zum Cloaking und zu präzisen Beschreibungen möglicher Verhaltensweisen finden Sie unter Cloaking in der COM-Dokumentation.

Clientidentitätswechsel und -delegierung

Clientseitige Anforderungen für den Identitätswechsel

Serverseitige Anforderungen für den Identitätswechsel