2009-12-10 5 views
0

J'ai récemment apporté une modification à une application Web fonctionnelle avec un service wcf. Après la publication de la chose que j'obtiens des paramètres de sécurité d'erreur pour ce service nécessitent l'authentification 'anonyme' mais il n'est pas activé pour l'application IIS qui héberge ce service ..Erreurs de sécurité WCF

J'ai cherché sur le net pour les cinq dernières heures en essayant de faire têtes ou queues sur ce

Je anoynous autorisation sans contrôle ...

Voici la section de service Web de mon web.config, s'il vous plaît aider !!!

<bindings> 
<wsHttpBinding> 
<binding name="WSHttpBinding_IService1" > 

    <security mode="TransportWithMessageCredential"> 
    <transport clientCredentialType="Windows"/> 
    </security> 

</binding> 
</wsHttpBinding> 



</bindings> 
<client> 
<!--http://localhost:2083/Service1.svc--> 
<endpoint address="" binding="wsHttpBinding" 
bindingConfiguration="WSHttpBinding_IService1" contract="ServiceReference1.IService1" 
name="WSHttpBinding_IService1"> 
<identity> 
<dns value="issupport03" /> 
</identity> 
</endpoint> 
</client> 
<services> 
<service name="WcfService1.AjaxWcf"> 
<endpoint address="" behaviorConfiguration="WcfService1.AjaxWcfAspNetAjaxBehavior" 
binding="webHttpBinding" contract="WcfService1.AjaxWcf" /> 
</service> 
</services> 
    <behaviors> 
<endpointBehaviors> 
<behavior name="WcfService1.AjaxWcfAspNetAjaxBehavior"> 
<enableWebScript /> 
</behavior> 
</endpointBehaviors> 
<serviceBehaviors> 
<behavior name="WcfService1.AjaxWcfAspNetAjaxBehavior"> 
    <serviceDebug includeExceptionDetailInFaults="True"/> 
</behavior> 
</serviceBehaviors> 
</behaviors> 
+4

S'il vous plaît modifier votre titre; votre titre est très * très * ennuyeux – Graviton

+0

Je m'excuse si vous pensez que le titre est ennuyeux; dites-moi, que pensez-vous que cela devrait être? – wali

+0

J'ai pris la liberté de le changer. Vous ne devez rien mettre dans le titre qui ne se rapporte pas directement à la question comme «urgent» ou «aide s'il vous plaît». De plus, les points d'exclamation sont plutôt distrayants. –

Répondre

0

En fait ce que je l'ai fait pour y remédier était changement de wsHttpBinding à webHttpBinding avec:

<security mode="TransportCredential"> 
<transport clientCredentialType="Windows"/> 
</security> 

Il travaille maintenant, et depuis son sur un intranet, je ne suis pas inquiet au sujet des problèmes de sécurité à ce point ... cependant, je voudrais vraiment savoir pourquoi il s'est cassé et ce que j'aurais dû faire pour le réparer ...

Merci à tous ceux qui ont aidé !!!

0

Vérifiez l'identité de votre pool d'applications. Cet utilisateur peut ne pas avoir accès aux ressources qu'il pourrait utiliser.

0

Je vous recommande de sauvegarder votre code actuel, puis de revenir à la version précédente du contrôle de source. Construisez et déployez cette version, puis assurez-vous qu'elle fonctionne en production.

Si cela a fonctionné, puis diff la version de production contre votre version de sauvegarde. Voyez ce qui a changé. Changez-le petit à petit jusqu'à ce qu'il fonctionne à nouveau.

+0

Je pense que cela fait partie de ce qui m'a donné plus de profondeur dans le désordre que j'ai fait ... après environ une heure d'essayer de le réparer, j'ai publié une version plus ancienne sur le dessus de celui en cours. Il n'a pas résolu le problème, mais une fois que j'ai fait tous les anciens "changements" ont été faits, provoquant revenir à des problèmes antérieurs, fondamentalement déclassant l'application ... Merci, cependant! – wali