Tôi gặp phải lỗi sau khi tôi đã đặt tính năng Xác thực Windows cho phép và vô danh để tắt trong IIS.Thực hiện dịch vụ Wcf IntegratedWindowsAuthentication
Các lược đồ xác thực cấu hình trên máy chủ ('IntegratedWindowsAuthentication') không cho phép những cấu hình trên các ràng buộc 'BasicHttpBinding' ('Anonymous'). Hãy đảm bảo rằng SecurityMode được đặt thành Giao thông vận tải hoặc TransportCredentialOnly. Ngoài ra, điều này có thể được giải quyết bằng cách thay đổi xác thực lược đồ cho ứng dụng này thông qua công cụ quản lý IIS, thông qua thuộc tính ServiceHost.Authentication.AuthenticationSchemes, trong tệp cấu hình ứng dụng tại phần tử , bằng cách cập nhật thuộc tính ClientCredentialType trên ràng buộc hoặc bằng cách điều chỉnh thuộc tính AuthenticationScheme trên HttpTransportBindingElement. web.config
WCF Service của tôi là như sau ...
<?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>
lời khuyên hãy ..
Bạn chưa đăng web.config của mình ... – Tim
Sẵn sàng ngay bây giờ. làm ơn cho lời khuyên. – user214471
Tôi không thấy định nghĩa dịch vụ trong cấu hình của bạn, chỉ là một khách hàng. Nếu đây là tệp cấu hình dịch vụ của bạn và bạn đang sử dụng .NET 4.0+, rất có thể bạn đang nhận được điểm cuối mặc định, có thể không có bộ bảo mật đúng cách. Bạn cần phải gán ràng buộc bạn tạo trong tệp cấu hình của bạn vào dịch vụ của bạn. – Tim