Oui, vous devriez être en mesure de le faire, tout en configurant :
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="WinAuth" mode="Transport">
<transport clientCredentialType="Windows" />
<bindings>
</netTcpBinding>
</bindings>
</system.serviceModel>
Bien sûr, en fonction de votre liaison, vous devrez utiliser une balise différente sous la balise <bindings>
nœud parent - et bien sûr, toutes les liaisons ne supportent pas tous les modes de sécurité.....
Dans votre point de terminaison, utilisez la liaison appropriée et faites simplement référence à cette configuration :
<endpoint name="WCFService" address="......."
binding="netTcpBinding"
bindingConfiguration="WinAuth"
contract="......" />
Ça devrait le faire ! Et bien sûr, si vous avez besoin d'une sécurité des messages au lieu d'une sécurité du transport, vous pouvez également le faire.
Dans votre méthode de service WCF, vous pouvez vérifier si les informations d'identification de Windows ont été envoyées ou non, et ce qu'elles sont, en vérifiant :
ServiceSecurityContext.Current.WindowsIdentity
Ce sera NULL si vous n'avez pas d'appelant Windows, sinon il montrera qui vous a appelé.
Marc