在IIS中的同一VD中为相同的WCF服务实施用户名密码和客户端证书身份验证

时间:2011-10-17 15:55:54

标签: wcf wcf-binding wcf-security

我有一个公开的WCF服务。在安全性方面,我需要使用客户端证书和用户名密码对其进行身份验证。

很少有客户端使用客户端证书进行身份验证,其他客户端使用用户名密码进行身份验证。

当我将服务配置为使用客户端证书时,IIS - >需要为SSL Require配置SSL设置。这样做,没有客户端证书的其他客户端无法访问该服务。

我如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

在IIS中托管服务时无法实现。具有所需客户端证书的SSL配置具有整个虚拟目录/应用程序的范围,在该虚拟目录/应用程序中配置它以及在该目因此,您必须每次在具有不同配置的不同虚拟目录或Web应用程序中托管服务两次。

或者,您可以在Windows服务中自托管服务,并为每个端点指定单独的配置。

答案 1 :(得分:1)

我想我确实找到了解决上述问题的方法。

您只需将服务放在虚拟目录下的不同文件夹中即可。

在IIS中获得上述服务后,只需选择执行客户端证书身份验证的文件夹,然后设置文件夹SSL Settings。

注意:在IIS中,您可以使用web.config或每个文件夹的IIS功能视图设置每个文件夹的设置。

这样您就可以实现多种身份验证。

相关问题