我必须创建一个WCF服务,它将敏感信息返回给客户端。我需要确保服务的安全性不会轻易受到损害。我将使用WCF的内置安全机制,通过使用带证书安全性的wsHttpBinding来保护线路上的数据。
但是,我还想确保修改配置文件不会危及服务的安全性。我想保留配置文件在端口,基地址等方面提供的所有灵活性,但忽略任何可能危及服务的端点/绑定相关配置部分。
我想做的是:创建一个自定义服务主机,我在其中覆盖ApplyConfiguration功能。在ApplyConfiguration函数中,我可以做以下两件事之一:
我是WCF的新手,所以任何有关如何正确执行此操作的指导都将受到赞赏(如果您可以使用代码示例:-))。我不知道我是否走在正确的轨道上!
答案 0 :(得分:1)
嗯,你有多种选择:
您还可以使用ProtectionLevel设置在服务合同中要求某些安全设置:
[ServiceContract(ProtectionLevel=ProtectionLevel.EncryptAndSign)]
interface IYourService
{
....
}
这实际上是默认设置 - 因此您应该是安全的,但如果您愿意,您可以始终明确指定保护级别(以明确您的意图)。
有了这个,任何试图向您发送未加密或未签名的邮件的人都将被拒绝。
马克