2008-11-19 5 views
2

Nous avons actuellement une configuration comme ceci:Passer l'appelant d'origine dans WCF

lan\john  lan\application1 lan\appService1  lan\appService2 
client ------> website ----------> WCF Service1 ------> WCF Service2 

Ainsi, chaque site/service fonctionne comme un compte d'identité différent qui est installé dans le répertoire actif. Les contrôles de sécurité sont basés sur l'identité de l'appelant immédiat (c'est-à-dire que WCF Service2 vérifie que son appelant lan \ appService1 a les droits pour effectuer cette tâche). Pour les besoins de la journalisation, nous avons besoin de savoir qui était l'appelant d'origine (dans cet exemple, lan \ john) afin que nous puissions enregistrer une action. Je voudrais un moyen de le faire d'une manière plus sécurisée que ce qui est actuellement fait (en passant la chaîne de "lan \ john" comme en-tête de message avec chaque appel). Des idées?

Répondre

1

S'il s'agit simplement de vérifier la sécurité de l'appelant de service WCF, vous pouvez vérifier le mécanisme suggéré par msdn here.

Pour l'ensemble de l'application si vous souhaitez activer l'usurpation d'identité à ce stade, vous pouvez explorer le modèle de conception explained sur msdn.