gpt4 book ai didi

c# - WCF:通过向每个方法传递密码来实现简单的安全性

转载 作者:太空宇宙 更新时间:2023-11-03 13:22:00 25 4
gpt4 key购买 nike

假设有一个 Windows 服务和一个 WCF 服务需要定期交换数据。

现在让我们假设 diving into the depths of WCF security 不是,开发人员决定简单地向每个 OperationContract 签名添加一个 String password 参数(随机创建并通过 app.config/web 提供给 Windows 服务和 WCF 服务。配置)并激活 HTTPS 以确保加密。

这种方法有什么本质上的错误吗?

最佳答案

对于您控制服务器和客户端的小型服务,这可能是一种简单的前进方式。但是,我可以想到两件本质上错误的事情。首先是它违反了单一职责原则:类应该只有一个改变的理由的原则。您的类将需要更改,原因有两个:首先,如果服务的业务逻辑发生变化,其次,如果您的身份验证逻辑发生变化,比如将用户名添加到密码凭据或使某些方法匿名可用,同时继续要求身份验证其他。

第二个是,虽然从服务器端不使用标准的身份验证方法可能更容易,但它可能会使客户端的生活更加困难,因为他们将不得不阅读您的文档而不是引用标准,他们将无法利用任何可能已经为他们实现了大部分逻辑的库。例如,在 .NET 中实现用于 HTTP Basic 身份验证的客户端非常简单 - 您只需提供凭据作为请求的属性,它会为您执行握手和 Base64 编码。

关于c# - WCF:通过向每个方法传递密码来实现简单的安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23809523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com