我已经创建了一个带有ServiceContract
on 接口及其OperationContract
所有方法的接口。我在一个类中实现了这个接口,然后在我的 asp.net 网站中添加了 wcf 服务,它创建了一个 svc 文件(因为我想用我的网站在 IIS 中托管它)。现在该服务已启动并可在http://localhost:8732/webui/webservice/camservice.svc
. 现在我想为此服务启用用户名和密码身份验证。我想svc
使用basicHttpBinding
是因为我不必在我的 web.config 中进行任何配置以使其运行。现在如何在此服务上启用用户名/密码身份验证?互联网上有很多文章,但我相信 wcf 安全性是如此巨大,以至于我无法使用我使用的方法对用户名/密码身份验证进行集中解释。我正在使用 .net 4.0 与 2010
编辑:好的,我已经把问题缩小了一点。我相信,消息级别的安全性是我所需要的
<security mode="Message">
<message clientCredentialType="Certificate" />
</security>
我本可以选择 SSL,但为此,我必须为每个服务调用去 db 并验证用户。我更喜欢的是该服务为具有有效证书的客户提供服务。我从这篇文章中得到了很多信息。它没有解释的是如何在客户端和服务器上设置 x509 证书,以及如何控制只有我的客户端才能获得有效证书。