我在这里遵循教程:http://allen-conway-dotnet.blogspot.co.uk/2012/07/using-basic-authentication-in-rest.html?_sm_au_=iFVksVM0H8QrkntP,在WCF服务中实现用户身份验证,但是我收到以下错误:
The authentication schemes configured on the host ('Anonymous') do not allow those configured on the binding 'WebHttpBinding' ('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 element, by updating the ClientCredentialType property on the binding, or by adjusting the AuthenticationScheme property on the HttpTransportBindingElement.
我确实尝试在项目中禁用“匿名身份验证”,但我得到的只是错误401 - 未经授权。无法立即显示输入用户名和密码的提示。有谁知道为什么会出现这个问题以及如何解决它?
答案 0 :(得分:13)
我最终设法通过添加:
来解决问题<behavior name="...">
...
<serviceAuthenticationManager authenticationSchemes="Basic"/>
...
</behavior>