Oui, vous devriez être en mesure de le faire, le tout dans config:
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="WinAuth" mode="Transport">
<transport clientCredentialType="Windows" />
<bindings>
</netTcpBinding>
</bindings>
</system.serviceModel>
Bien sûr, en fonction de vos fixations, vous auriez à utiliser tag différent sous le noeud parent <bindings>
- et bien sûr, toutes les liaisons ne prennent pas en charge tous les modes de sécurité ...
Dans votre point de terminaison, utilisez la liaison appropriée et en juste référence cette config:
<endpoint name="WCFService" address="......."
binding="netTcpBinding"
bindingConfiguration="WinAuth"
contract="......" />
Cela devrait le faire! Et bien sûr, si vous avez besoin de la sécurité des messages au lieu de la sécurité du transport, vous pouvez le faire aussi.
Dans votre méthode de service WCF, vous pouvez vérifier pour voir si oui ou non les informations d'identification de Windows ont été envoyés sur, et ce qu'ils sont, en vérifiant:
ServiceSecurityContext.Current.WindowsIdentity
Ce sera NULL si vous ne avoir un appelant Windows, sinon il montrera qui vous a appelé.
Marc