J'ai un client Windows WPF qui appelle un service Web WCF. L'utilisateur est déjà connecté sur le domaine Windows avant de démarrer l'application et le service WCF utilise l'authentification Windows.Comment puis-je dire à une classe proxy client WCF d'utiliser l'authentification Windows et le WindowsPrincipal de l'utilisateur du domaine déjà connecté comme informations d'identification?
Je souhaite que le client WPF utilise WindowsPrincipal de l'utilisateur déjà connecté lors de l'appel du service WCF. Je ne veux pas créer une nouvelle instance de NetworkCredential avec un mot de passe EXPLICIT & pour ce faire, simplement parce que demander à l'utilisateur de se connecter deux fois (dans Windows et l'application) est ... bien joli utilisateur hostile.
La plupart des échantillons que j'ai vu utiliser cette façon de définir les informations d'identification, ce qui est pas ce que je veux
serviceClientProxy.ClientCredentials.Windows.ClientCredential
= new NetworkCredential("username", "password", "domain");
Au lieu de cela, je voudrais faire quelque chose comme ça
serviceClientProxy.ClientCredentials.Windows.AllowedImpersonationLevel
= TokenImpersonationLevel.Identification;
serviceClientProxy.ClientCredentials.Windows.ClientCredential
= { /* network credential for already logged in user */ }
C'est, je veux un NetworkCredential pour les personnes déjà existantes (et de travail)
new WindowsPrincipal(WindowsIdentity.GetCurrent())
Est-ce que quelqu'un sait comment faire cela? J'ai essayé de définir security mode = ""
et de transporter clientCredentialType = ""
dans app.config, mais jusqu'à présent, en vain.