Ich erhalte den folgenden Fehler, wenn ich die Windows-Authentifizierung aktivieren und anonym in IIS deaktiviert.Make Wcf Service IntegratedWindowsAuthentication
Die Authentifizierungsschemata auf dem Host konfiguriert ('IntegratedWindowsAuthentication') erlauben nicht diejenigen, die Bindung 'Basichttpbinding' auf konfiguriert ('Anonymous'). Stellen Sie sicher, dass der SecurityMode auf Transport oder TransportCredentialOnly festgelegt ist. Zusätzlich kann dies durch Ändern der Authentifizierung Schemata für diese Anwendung durch das IIS-Management-Tool, durch die ServiceHost.Authentication.AuthenticationSchemes Eigenschaft, in der Anwendungskonfigurationsdatei am Elemente, durch die Aktualisierung der ClientCredentialType Eigenschaft auf dem aufgelösten Bindung, oder durch Anpassen der AuthenticationScheme-Eigenschaft für das 0ttHttpTransportBindingElement.
Mein WCF-Dienst web.config ist wie folgt ...
<?xml version="1.0"?>
<configuration>
<appSettings>
<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5"/>
</system.web>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpEndpointBinding">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint binding="basicHttpBinding"
bindingConfiguration="BasicHttpEndpointBinding"
contract="Test.IService1" name="BasicHttpEndpoint" />
</client>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceAuthenticationManager
authenticationSchemes="IntegratedWindowsAuthentication"/>
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="false"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
<protocolMapping>
<add binding="basicHttpBinding" scheme="http" />
</protocolMapping>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"
multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
<directoryBrowse enabled="true"/>
</system.webServer>
</configuration>
Bitte Beratung ..
Sie schreiben nicht web.config ... – Tim
Sein jetzt bereit. bitte Beratung. – user214471
Ich sehe keine Service-Definition in Ihrer Konfiguration, nur ein Client. Wenn dies die Konfigurationsdatei Ihres Dienstes ist und Sie .NET 4.0 und höher verwenden, erhalten Sie wahrscheinlich einen Standardendpunkt, an dem die Sicherheit möglicherweise nicht richtig eingestellt ist. Sie müssen die Bindung, die Sie in Ihrer Konfigurationsdatei erstellen, auch Ihrem Dienst zuweisen. – Tim