Asp.net 在IIS中通过表单身份验证公开WCF服务:如何使元数据(?wsdl)公开,但操作受到保护

Asp.net 在IIS中通过表单身份验证公开WCF服务:如何使元数据(?wsdl)公开,但操作受到保护,asp.net,wcf,forms-authentication,Asp.net,Wcf,Forms Authentication,我们通过IIS托管了一些WCF服务。该应用程序通常使用表单身份验证,我们希望继续为web服务客户端提供这种身份验证。我们的web.config中有一个,还有一些身份验证/重定向功能,可以完成所有工作 问题是我们希望用户能够在没有身份验证的情况下访问服务的元数据。他们是否可以匿名访问/services/v1/ArtifactService.svc?wsdl,但仍然需要对/services/v1/ArtifactService.svc/rest/GetArtifacts进行身份验证?studyId=

我们通过IIS托管了一些WCF服务。该应用程序通常使用表单身份验证,我们希望继续为web服务客户端提供这种身份验证。我们的web.config中有一个
,还有一些身份验证/重定向功能,可以完成所有工作

问题是我们希望用户能够在没有身份验证的情况下访问服务的元数据。他们是否可以匿名访问
/services/v1/ArtifactService.svc?wsdl
,但仍然需要对
/services/v1/ArtifactService.svc/rest/GetArtifacts进行身份验证?studyId=123
?如果是这样,我就无法在配置中找到正确的咒语

我能想到的最好办法是在元数据服务行为中设置一个绝对URL,但随后我必须在我们部署的任何地方修改安装路径。(


有什么想法吗?

我认为这是不可能的。如果您需要使用allow和deny元素对资源进行授权,则不能根据url查询指定不同的授权级别。您必须在服务-原则许可中控制授权。

请不要在您的答案上签名。这不是一个讨论论坛。