2013-04-09 105 views
0

我正在尝试编写将通过Active Directory服务进行搜索的WCF服务。我想设置此服务使用我的固定凭据,所以我的密码不会过期。WCF服务 - 模拟Web配置中的固定帐户

这是我web.config看起来像:

<?xml version="1.0"?> 
<configuration> 
    <system.web> 
    <compilation debug="true" targetFramework="4.0" /> 
    <authorization> 
     <allow users="?"/> 
    </authorization> 
    <authentication mode="Windows"/> 
    <identity impersonate="true" userName="mylogin" password="mypass" /> 
    </system.web> 
    <system.serviceModel> 
    <services> 
     <service name="Mochrie.MyService" behaviorConfiguration="asdf"> 
     <endpoint address="" binding="basicHttpBinding" bindingConfiguration="httpBinding" contract="Mochrie.IMyService" /> 
     </service> 
    </services> 


    <bindings> 
     <basicHttpBinding> 
     <binding name="httpBinding"> 
      <security mode="TransportCredentialOnly"> 
      <transport clientCredentialType="Basic" /> 
      </security> 
     </binding> 
     </basicHttpBinding> 
    </bindings> 


    <behaviors> 
     <serviceBehaviors> 
     <behavior name="asdf"> 
      <serviceMetadata httpGetEnabled="true"/> 
      <serviceDebug includeExceptionDetailInFaults="false"/> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> 
    </system.serviceModel> 
    <system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"/> 
    </system.webServer> 
</configuration> 

不幸的是我收到著名的错误,并通过几天它挣扎。 虽然试图以浏览:http://localhost/Mochrie/MyService.svc?wsdl

The authentication schemes configured on the host ('IntegratedWindowsAuthentication') do not allow those configured on the binding 'BasicHttpBinding' ('Basic'). Please ensure that the SecurityMode is set to Transport or TransportCredentialOnly. Additionally, this may be resolved by changing the authentication schemes for this application through the IIS management tool, through the ServiceHost.Authentication.AuthenticationSchemes property, in the application configuration file at the <serviceAuthenticationManager> element, by updating the ClientCredentialType property on the binding, or by adjusting the AuthenticationScheme property on the HttpTransportBindingElement.

没有任何人有机会来解决这个问题并正确设置WCF服务?

回答

0

尝试

<binding name="MyBinding"> 

    <security mode="TransportCredentialOnly"> 

    <transport clientCredentialType="Windows" /> 

    </security> 

</binding> 

<binding name="MyBinding"> 

    <security mode="TransportCredentialOnly"> 

    <transport clientCredentialType="Ntlm" /> 

    </security> 

</binding> 

注意:您可以关闭模​​拟,但更改IIS AppPool(或WinService帐户)标识代替

相关问题