Domanda

Quando ho schierato la mia WCF Data Services per la produzione di hosting ho cominciato ad avere il seguente errore (o simile a seconda di quale schemi auth sono attivi):

  

IIS schemi di autenticazione specificati   'Di base, Anonymous', ma il legame   supporta solo la specificazione di esattamente   uno schema di autenticazione. Valido   schemi di autenticazione sono Digest,   Negotiate, NTLM, di base o anonimo.   Modificare le impostazioni di IIS in modo che solo una   unico schema di autenticazione viene utilizzato.

A quanto pare WCF Data Services (WCF in generale?) Non è in grado di gestire con più di una volta schema di autenticazione attiva.

OK, quindi sono consapevole del fatto che posso disattivare tutto, ma uno schema di autenticazione sull'applicazione web tramite pannello di controllo IIS .... tramite una richiesta di supporto !!

C'è un modo per specificare un unico schema di autenticazione a livello di singolo-service nel web.config?

Ho pensato che questo potrebbe essere così semplice come fare un cambiamento per <system.serviceModel> ma ... si scopre che WCF Data Services non si configurano nel web config . Se guardate la classe DataService<> non implementa un [ServiceContract] quindi non è possibile fare riferimento ad essa nella <service><endpoint> ... che presumo sarebbe necessario per cambiare la sua configurazione tramite XML.

P.S. Il nostro ospite sta usando II6, ma entrambe le soluzioni per IIS6 e IIS7 apprezzato.

È stato utile?

Soluzione

In primo luogo è possibile di configurare Data Services sul file di configurazione web. Il contratto utilizzato dal DataService si chiama System.Data.Services.IRequestHandler.

Ecco cosa si può fare nel file di configurazione web di configurare esso.

sull'etichetta di servizio dell'elemento System.ServiceModel aggiungere il

<service name="{you service type name including the namespace i.e. myapplication.myservice}">
    <endpoint address="" binding="webHttpBinding" contract="System.Data.Services.IRequestHandler">
    </endpoint>
</service>

Una volta che avete che non ci si può cominciare a configurare tutte le maniere di cosa usando gli elementi di configurazione standard di WCF.

In secondo luogo per abilitare o metodi di autenticazione disabili per un servizio specifico in IIS è possibile effettuare le seguenti operazioni:

Sulla lo snap in per IIS fare clic destro il file del servizio (vale a dire yourservice.svc) e scegliere Proprietà. Una volta nelle proprietà andare su File linguetta di sicurezza e abbiamo scelto il pulsante Modifica nella casella di gruppo di autenticazione e controllo degli accessi. dopo di che è proprio come impostare la protezione directory in IIS.

Come ultimo suggerimento come per qualsiasi ricerca guasti va è importante per permettere alle disgnostics WCF mentre configurate utilizzando la configurazione XML, essendo scritto in WCF, la registrazione Data Service è secondo WCF è ricca e molto istruttiva.

si può scoprire di più su che in WCF Amministrazione e diagnostica

Spero di essere stato in grado di aiutarvi con il vostro problema

fammi sapere come le cose va.

Saluti

Daniel Portella

UPDATE:

Ciao Schneider

Per specificare lo schema di autenticazione in xml leggere qui di seguito

Per l'autenticazione di Windows come ad esempio

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.serviceModel>
    <bindings>
      <webHttpBinding>
        <binding name="MyBindingName" >
          <security mode="Transport">
            <transport clientCredentialType="Windows" />
          </security>
        </binding>
      </webHttpBinding>
    </bindings>
    <services>
      <service name="{you service type name including the namespace i.e. myapplication.myservice}">
        <endpoint address="" binding="webHttpBinding" bindingConfiguration="MyBindingName" contract="System.Data.Services.IRequestHandler">
        </endpoint>
      </service>
    </services>
  </system.serviceModel>
</configuration>

Per gli altri tipi di autenticazione si prega di consultare la libreria MSDN per gli esempi

Scenari comuni per la sicurezza

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top