繁体   English   中英

WCF Web服务匿名身份验证

[英]WCF Web service Anonymous Authentication

我在网站上的IIS 7.0上托管了实用程序Web服务。 该服务由桌面客户端使用,并且由于它是实用程序服务,因此用户应该无需输入凭据即可访问该服务,因此在IIS中将身份验证类型设置为“ Anonymous

现在的问题是服务URL可以被公众访问,并在Web浏览器中输入该服务即可将用户定向到此页面:

在此处输入图片说明

即使这并没有给用户提供任何可能有潜在危险的有用信息,但是如果我可以将页面隐藏起来以防止公共访问,那还是很好的。 那么,有什么方法可以阻止用户访问此页面,但仍将服务本身公开? 我知道IIS 7启用了URL重定向,但是我不知道VS在添加服务引用时发送的请求实际上与输入URL时从Web浏览器发送的请求是否有任何不同。 任何帮助表示赞赏。

编辑

如注释部分所述,一个选项是通过在运行时创建ChannelFactory来访问服务,但这需要将合同公开给客户端,这是我要避免的事情。

我想您要禁用的是HTML页面。 使用ServiceDebug元素执行此操作。

<system.serviceModel>
    <behaviors>
        <serviceBehaviors>
            <behavior>
                <serviceDebug httpHelpPageEnabled="false" />
            </behavior>
        </serviceBehaviors>
    </behaviors>
</system.serviceModel>

编辑:禁用WSDL:

<serviceMetadata httpGetEnabled="false" />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM