2009-08-12 2 views
1

Greets. Ich realisiere, dass dies als eine doppelte Frage als this gesehen werden kann, aber ich bekomme einen anderen Fehler.kann ich eine WCF-Bindung haben, die SSL (mit https) durchläuft, wobei die Transportsicherheit auf "Keine" gesetzt ist?

Mein IIS ist für die Verwendung von SSL eingerichtet. Mein Service ist relativ einfach eingerichtet. Nur ein einfacher Login-Service.

Wenn ich versuche, direkt an die SVC-Datei auf dem Host-Rechner diesen Fehler ich

-Service erhalten navigieren kann nicht aufgrund einer Ausnahme während der Kompilierung aktiviert werden. Die Ausnahmebedingungsnachricht lautet: Sicherheitseinstellungen für diesen Dienst erfordern die Windows-Authentifizierung, sind jedoch für die IIS-Anwendung, die diesen Dienst hostet, nicht aktiviert.

Ich möchte keine Authentifizierung beim Zugriff auf diesen bestimmten Dienst tun. Sollte ich nicht in der Lage sein, die HTTPS-Bindung mit Transport-Nachrichten zu verwenden und die Client-Authentifizierung auf "Keine" zu setzen?

Ich habe ein Zertifikat eingerichtet, um mit SSL zu entsprechen und das scheint in Ordnung zu sein. Es ist nur dieses Authentifizierungskram, das jetzt im Weg ist.

<system.serviceModel> 
<behaviors> 
    <serviceBehaviors> 
    <behavior name="DefaultBehaviour"> 
     <serviceMetadata httpsGetEnabled="true" /> 
     <serviceCredentials> 
     <serviceCertificate findValue="xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx" 
      storeLocation="LocalMachine" storeName="My" x509FindType="FindByThumbprint" /> 
     </serviceCredentials> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 
<bindings> 
    <wsHttpBinding> 
    <binding name="wsBinding"> 
     <security mode="Transport"> 
     <message clientCredentialType="None" /> 
     </security> 
    </binding> 
    </wsHttpBinding> 
    <mexHttpsBinding> 
    <binding name="mex" /> 
    </mexHttpsBinding> 
</bindings> 
<services> 
    <service behaviorConfiguration="DefaultBehaviour" name="Web.Login.LoginService"> 
    <endpoint name="wsBinding" 
       address="https://staging.system.com/System/LoginService/LoginService.svc" 
       binding="wsHttpBinding" bindingConfiguration="wsBinding" 
       contract="Web.Login.IOLELoginService" /> 
    <endpoint address="mex" binding="mexHttpsBinding" bindingConfiguration="mex" name="mex" contract="IMetadataExchange" /> 
    </service> 
</services> 

Antwort

3

Sie sollten das haben können, - nur sind Sie es nicht auf diese Weise zu konfigurieren!

<security mode="Transport"> 
    <message clientCredentialType="None" /> 
    </security> 

Wenn Sie Transportsicherheit haben, müssen Sie die clientCredentialType auf der <transport> Subelement setzen!

Try this:

<security mode="Transport"> 
    <transport clientCredentialType="None" /> 
    </security> 

die hoffentlich funktionieren sollte (nicht über das Setup es jetzt zu testen)

Marc

+0

Süße. Na sicher. Vielen Dank. Das scheint es zu sein. Wenn ich jetzt die SVC-Datei naviriere, bekomme ich keine Fehler, aber die Seite ist leer. – topwik

+0

Okay perfekt. Meine Konfiguration muss noch durcheinander gebracht worden sein, aber. Sieht gut aus. Danke vielmals! – topwik

Verwandte Themen