2010-07-30 12 views
0

Je rencontre des problèmes d'usurpation d'identité dans WCF. À savoir, j'appelle un service de canal nommé à partir de ASP.NET avec l'emprunt d'identité activé. Cela échoue (en raison des autorisations sur le canal bloquant toute personne du réseau). Alors, y a-t-il un moyen de faire l'appel en dehors du contexte de l'emprunt d'identité? Je n'ai pas besoin d'usurper l'identité pour faire cet appel, mais je ne vois aucun moyen de le faire.Appelez un service WCF en dehors du contexte d'emprunt d'identité?

Vous avez des idées?

Merci Matt

PS. Je dois le faire de façon déclarative, à travers la configuration ...

Répondre

0

J'ai eu la chance que le service dont j'avais besoin pour désactiver l'emprunt d'identité se trouvait sur un point de terminaison IIS que personne d'autre n'utilisait, et je pourrais très bien changer l'authentification/paramètres d'autorisation dans le fichier web.config afin que l'accès soit accordé aux utilisateurs anonymes. Pas une solution, mais un travail autour. Pour autant que je sache, si je voulais le faire avec du code, j'enverrais mon client dans un appel à WindowsIdentity.Impersonate (IntPtr.Zero), ce qui est apparemment la même chose que d'appeler le Win32 RevertToSelf. Je ne sais pas ce qui se passe lorsque ce contexte est éliminé (l'annulation est-elle une nouvelle tentative d'usurpation d'identité de l'utilisateur dont l'identité a été empruntée à l'origine ou est-ce que le retour a été bloqué?)