Comment convertir WindowsIdentity à un NetworkCredential?

Comment convertir un WindowsIdentity à un NetworkCredential? Je suis en train de tester mon service WCF pour vérifier que les appelants anonymes sont bloqués. Pour ce faire, je veux faire quelque chose comme:

myProxy.ClientCredentials.Windows.ClientCredential = foo(WindowsIdentity.GetAnonymous());

foo est une méthode qui convertit un WindowsIdentity à un NetworkCredential

Cette SORTE de Réponse me semble qu'il va répondre à votre question: stackoverflow.com/questions/2063408/...
Non, il n'est pas. Pour une chose, WindowsIdentity.GetAnonymous().Usurper l'identité d'() donne une exception. Cela est également documenté dans le msdn.microsoft.com/en-us/library/w070t6ka.aspx. InvalidOperationException Une identité anonyme a tenté d'effectuer une usurpation d'identité. Il semble comme il n'y a aucun moyen de le faire ce qui est demandé dans la question. Alors, comment fait-on vérifier qu'un service est de ne pas laisser les utilisateurs anonymes?
Votre question titre est après la conversion de WindowsIdentity à NetworkCredential, mais après re-lecture de votre question plusieurs fois, vous n'avez besoin que d'obtenir un "anonyme" de l'utilisateur? réglage des informations d'identification client à null fera l'affaire, permettra de poster du code
réglage des informations d'identification client à null ne fonctionnera pas. Vous pouvez l'essayer pour vous-même.
ok, mais cela fonctionne pour nous. Bien que vous avez trouvé une réponse 🙂

OriginalL'auteur morpheus | 2013-03-07