12
votes

Quelle valeur le serviceprincipalnomname doit-il avoir?

J'essaie de configurer une impersonnation du client sur mon service.

Je dois définir une valeur pour le servicePrincipalName de mon point final de services p>

Je regarde ce Article MSDN mais ne peut toujours pas comprendre tout ce que P>

Mon service est hébergé Dans une application de console sur un serveur que nous allons appeler ServerName1.
L'URI est la suivante: net.tcp: // serveName1: 9990 / testService1 / code>. P>

Quel est spécifiquement que mon serviceprincipalname soit? P>

J'ai essayé, sans JOY: P>

<identity>
    <servicePrincipalName value="ServerName1" />
</identity>


0 commentaires

4 Réponses :


9
votes

Le nom de l'utilisateur que vous souhaitez utiliser l'utilisateur (exécuter sous). Donc, si vous souhaitez l'exécuter sous les informations d'identification «réseau local», le XML ci-dessus devrait ressembler à:

<identity>
    <servicePrincipalName value="Local Network" />
</identity>


3 commentaires

Il y a donc une liste de valeurs acceptées qui peuvent être utilisées ici, c'est-à-dire. "Réseau local" en étant l'un d'entre eux? Quelle valeur devrait-elle être si je souhaite utiliser les informations d'identification des clients appelants?


@Tom je ne crois pas que vous puissiez définir cela dans la configuration, mais vous pouvez le faire à partir du code


J'utilisais un service réseau pour exécuter mes tests automatisés, notamment en générant des demandes de savon pour tester certains services de WCF. Les demandes échouaient et ce «réseau local» a résolu mon problème.



11
votes

Configuration du serviceprinciplename est un sujet difficile à décrire dans quelques mots Peut-être que ces articles aideront:


0 commentaires

1
votes

Pour un guide complet sur la construction de votre SPN, consultez ces articles:

https://geertbaeten.wordpress.com / 2013/06/03 / KERBEROS-Authentification-and-Délégation-ServicePrincipealNames /

http://blogs.iis.net/brian-murphy-booth/archive/2007/03/09/Le-biggest-mistake-ServicePrincipipalname-s.aspx

Ce sont plus sur le côté de l'infrastructure (ajouts) mais la première partie est très utile pour les programmeurs trop


0 commentaires

0
votes

Lorsque vous utilisez des services WCF hébergés par IIS.

Nous utilisons "Host / ComputerName", comme , pour une connexion anonyme. À l'intérieur de votre application WCF, vous pouvez définir le pool d'applications, par exemple "IIS AppPool \ DefaulfAppoLPOOL", cet utilisateur sera l'utilisateur réel connecté.

dans l'image ci-dessous / C ?????? DataService est le nom de la demande ("Toms TestService1") Piscine d'applications: C ???? Pool peut être "DefaultAppPool", dans le cas de "Utilisateur d'applications (authentification transparente)", vous utiliserez " IIS AppPool \ DefaulfAppoLAppool " en tant qu'utilisateur accorder des droits à des ressources spécifiques, comme un fichier ou une chaîne de connexion SQL Server.

Et, même en utilisant l'authentification anonyme, vous pouvez définir "Autorisation des formulaires", à une ressource spécifique à l'intérieur de l'application WCF, par exemple "MasterSettings.svc".

 Entrez la description de l'image ici

J'espère que cela aide


0 commentaires