WCF – Authentification Windows – Les parameters de sécurité requièrent Anonymous

J’ai du mal à faire fonctionner le service WCF sur IIS sur notre serveur. Après le déploiement, je me retrouve avec un message d’erreur:

Les parameters de sécurité de ce service requièrent une authentification «anonyme» mais ne sont pas activés pour l’application IIS qui héberge ce service.

Je veux utiliser l’authentification Windows et j’ai donc un access anonyme désactivé. Notez également qu’il existe aspNetCompatibilityEnabled (si cela fait une différence).

Voici mon web.config:

                                  

J’ai cherché partout sur internet sans succès. Tous les indices sont grandement appréciés.

Donc, cela semble être un problème assez commun. Le but est de supprimer mex de vos liaisons:

  

Vous pouvez également activer l’access anonyme dans IIS et dans votre fichier web.config pour vous assurer que l’access anonyme est refusé.

J’espère que cela aidera une autre âme. (J’étais sûr à 100% que je l’avais essayé avec mex enlevé.: -O)

Vous pouvez vérifier celui- ci . J’ai réussi à le faire fonctionner comme prévu.

  ...  ...          ...  ...  

utilisez simplement vos liaisons de service pour mex aussi.

Alors changez votre configuration actuelle:

  

à

  

Cela devrait résoudre le problème

L’authentification anonyme peut, et dans certains cas, doit être activée pour le service, mais pas pour le site.

Donc, vérifiez que l’authentification “root” de votre site a uniquement l’authentification Windows activée. Développez ensuite votre site, sélectionnez le dossier «service» et assurez-vous que Windows et l’authentification anonyme sont activés pour votre service.

J’avais l’environnement identique où cela fonctionnait, la seule différence dans ces environnements était l’authentification du service. Le problème dans mon cas n’a pas été causé par des fournisseurs sélectionnés (Ntlm ou Negotiate) mais par les parameters d’authentification pour le site et le service.

Au moins j’avais un message d’erreur identique avec le site Web et le service de base de MSSQL Master Data Services et c’était la solution. J’ai eu l’erreur lors de l’exécution uniquement du service, mais le site fonctionnait presque correctement, MDS Explorer ne fonctionnait pas car les parameters d’authentification du service étaient erronés au début. La cause de cette mauvaise configuration pourrait être un bogue dans MDS Configuration Manager lors de la création d’un nouveau site MDS?

Donc, dans mon cas, le problème ne devait pas être résolu en effectuant des modifications spéciales sur les fichiers web.config et ApplicationHost.config, je n’ai pas modifié les fichiers de configuration. Il suffit de sélectionner les parameters d’authentification corrects pour le site Web et son service dans le gestionnaire IIS. Je ne suis pas sûr que ce soit le cas ici, mais peut-être vaut-il la peine d’essayer?

Cela a fonctionné pour moi lorsque j’ai supprimé le sharepoint terminaison ‘mex’ et que j’ai également défini clientCredentialType = ‘Ntlm’ J’avais hébergé mon WCF dans SharePoint.

Oui, il semble que vous ayez besoin de supprimer complètement le sharepoint terminaison mex. Réglage

  

seul ne fonctionnait pas. Merci!

Solution supplémentaire:

Vous devez juste vous assurer que le nom du service et le contrat sont corrects.

J’espère que ça aide d’une certaine façon.

Il semble que ce problème de liaison MEX ait été résolu dans .NET 4.0. La modification de la version de CLR App Pool .NET de notre serveur de 2.0 à 4.0 a résolu le problème.