2010-03-30 86 views
7

当我部署了我WCF数据服务到生产托管,我开始得到以下错误(或类似的,这取决于身份验证方案是主动):如何禁用身份验证方案为WCF数据服务

IIS指定的认证方案 '基本,匿名',但绑定 仅支持一个验证方案的确切规格 。有效的 认证方案是摘要, 协商,NTLM,基本或匿名。 更改IIS设置,以便仅使用一个 单身份验证方案。

显然WCF数据服务(一般WCF?)不能处理有多个身份验证方案处于活动状态。

好吧,所以我知道,我可以通过IIS控制面板...通过支持请求禁用Web应用程序的所有的一个身份验证方案!

有没有在web.config中的每个服务级别上指定单一认证方案的方法?

我想这可能是直线前进的作出改变,以<system.serviceModel>但是......事实证明,WCF数据服务不会在web配置自我配置。如果您查看DataService<>类,则它不会实现[ServiceContract],因此您不能在<service><endpoint>中引用它,我认为这将通过XML更改其配置。

P.S.我们的主机使用II6,但IIS6 & IIS7解决方案赞赏。

回答

16

首先,可以在Web配置文件中配置Data Services。 DataService使用的协定称为System.Data.Services.IRequestHandler。

以下是您可以在Web配置文件中进行配置的内容。

在system.servicemodel元素的服务标签添加

<service name="{you service type name including the namespace i.e. myapplication.myservice}"> 
    <endpoint address="" binding="webHttpBinding" contract="System.Data.Services.IRequestHandler"> 
    </endpoint> 
</service> 

一旦你有,你可以开始配置使用标准WCF配置元素的东西都举止。

其次启用或IIS中的特定服务,你可以做以下的残疾人身份验证方法:

在在IIS右键点击你的服务文件的快照(即yourservice.svc),然后单击属性。 一旦进入属性,进入文件安全性选项卡并选择身份验证和访问控制组框中的编辑按钮。之后,就像在IIS中设置目录安全一样。

作为任何问题解决的最后一个建议,启用wcf disgnostics是很重要的,同时使用xml配置配置它,使用WCF编写,数据服务日志记录根据wcf是丰富且非常丰富的。

你可以找到更多关于在WCF Administration and Diagnostics

我希望我能够帮助你解决问题

让我知道事情如何去。

问候

丹尼尔Portella

UPDATE:

嗨施耐德

指定阅读下面

对于Windows身份验证的例子在XML认证方案

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.serviceModel> 
    <bindings> 
     <webHttpBinding> 
     <binding name="MyBindingName" > 
      <security mode="Transport"> 
      <transport clientCredentialType="Windows" /> 
      </security> 
     </binding> 
     </webHttpBinding> 
    </bindings> 
    <services> 
     <service name="{you service type name including the namespace i.e. myapplication.myservice}"> 
     <endpoint address="" binding="webHttpBinding" bindingConfiguration="MyBindingName" contract="System.Data.Services.IRequestHandler"> 
     </endpoint> 
     </service> 
    </services> 
    </system.serviceModel> 
</configuration> 

对于其他类型的身份验证,请检查MSDN库实例

Common Scenarios for security

+0

感谢。端点配置很有用。现在我有,我会寻找一种方法来指定身份验证方案在XML ... – Schneider 2010-03-30 13:25:21

+0

添加更新以上希望ti解释如何设置服务的身份验证 – dmportella 2010-03-31 11:46:55

+0

如果我能我会给你赏金..!谢谢你太多了! – Rashack 2013-03-15 07:11:31