gpt4 book ai didi

c# - 如何通过网络服务通信验证调用者

转载 作者:行者123 更新时间:2023-11-30 16:36:22 26 4
gpt4 key购买 nike

我继承了一个系统,该系统以数据集的形式从网络方法获取数据。数据可能是敏感的。让我印象深刻的一件事是,有些方法无法知道或检查调用者是谁,而其他方法则需要一个整数来识别调用者。这个整数从 0 开始并且是连续的并且与不同的公司/数据集相关联。显然不够好。 (我很容易通过猜测数字看到我不应该访问的数据

我的问题是,是否有一种最佳实践方法来验证调用者,改进这个系统

最佳答案

这是什么类型的服务?这些天,我将其编写为 WCF,并使用任何常规身份模型进行身份验证(我通常使用 TransportWithMessageCredential - 即 SSL,正文中带有用户名/密码)。然后您可以通过 Principal (Thread.CurrentPrincipal.Identity.Name) 检查身份。

对于 SOAP 服务,您可以使用 SOAP header 进行身份验证,或者您可以包括身份信息作为方法参数 - 用户名/密码对,或者您可以解析以获取身份的单独身份 token 。在任何情况下,您都应该仅通过安全传输(如 SSL)“按原样”传递身份信息。还有其他不需要传递密码的技术,但它们更复杂(尤其是涉及多个域等时); kerberos 或联合安全是选项。就个人而言,我保持简单,因为并非所有客户端都可以使用联合等 - 但大多数客户端可以通过 SSL 传递用户名/密码对。

关于c# - 如何通过网络服务通信验证调用者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/932866/

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