2009-08-17 9 views
0

Je suis actuellement à la recherche d'utiliser WCF pour communiquer entre un serveur et un programme qui agit comme une façade pour un système hérité.Le compte d'utilisateur réseau IIS peut-il appeler un service WCF s'exécutant sous un autre compte?

Aperçu rapide: mode < -> pages Web ASP .NET < -> WCF < -> Programme de façade < -> ancien système

Je ne veux pas courir IIS avec les droits requis pour exécuter la façade programme donc je pensais à utiliser WCF pour communiquer entre les deux logiciels.

Est-ce possible? Devrais-je utiliser autre chose que WCF pour communiquer entre les deux projets .NET?

+0

une solution finale avec un exemple de code source complet à son sujet? – Kiquenet

Répondre

2

Je ne vois aucun problème immédiat avec cette approche - WCF est généralement le meilleur choix pour la communication inter-processus/inter-machine dans .NET en raison de la vaste gamme d'options qu'il prend en charge via la configuration. En ce qui concerne l'authentification du service IIS -> WCF, vous pouvez simplement commencer par l'authentification Windows par défaut fournie par le proxy client WCF. IIS se connecte au service WCF à l'aide des informations d'identification du service réseau, qui doivent s'authentifier automatiquement sur la même machine. Si vous hébergez le service WCF sur une machine différente, vous devez mapper le compte Service réseau sur l'ordinateur IIS à l'ordinateur sur lequel le service est hébergé à l'aide du nom de compte d'ordinateur au format DOMAIN \ COMPUTERNAME $. .

Vous pouvez également initialiser votre propre instance NetworkCredentials sur le proxy client pour un compte de domaine spécifique. C'est moins sécurisé car vous devez inclure le mot de passe dans votre code, mais il est plus facile à utiliser dans la pratique.

Le processus hôte du service WCF peut s'exécuter en utilisant une identité de processus différente et utiliser cette identité de processus pour exécuter les composants en aval.

0

Le compte ne devrait avoir aucune importance.

+0

Il fait si ce n'est pas un serveur dédié. Vous ne voulez pas que quelqu'un lance des programmes sur votre serveur. Peut-être qu'il a eu une situation similaire. – Havenard

+0

Si c'est le cas, alors les chances sont qu'il aurait dû le dire. Il n'a rien dit à propos de la sécurité. –

+0

C'est un serveur dédié. –

1

Je ferais une connexion socket. Frontend écoutant un port, la page Web .NET se connecter et échanger des données ... pas de soucis au niveau de l'utilisateur du tout.

+1

Avez-vous déjà écrit ce genre de programme et l'avez-vous conservé? La plupart des gens n'ont pas. Pour eux, la WCF sera beaucoup plus facile à développer et à maintenir. –

Questions connexes