gpt4 book ai didi

c# - WCF:Web 服务登录/身份验证:如何?

转载 作者:太空狗 更新时间:2023-10-30 01:10:38 25 4
gpt4 key购买 nike

我们有一个 Web 服务(C# 中的 WCF),到目前为止一直在内部网上使用。展望 future ,我们希望将其开放给互联网。
显然我们担心顽皮的人无法访问这些接口(interface)。在 WCF 中确保这一点的最佳实践方法是什么?是WSS吗?
我假设客户端必须在每次调用时使用某种登录界面和返回的 token ?

最佳答案

基本上有六个选项:

  • Windows 帐户 - 在 Intranet 中很好,在 Internet 场景中不太好(内置,仅配置)

  • 针对 ASP.NET 成员(member)系统的用户名/密码:您仍然需要保留有效用户的数据库;根据您想做什么,这可能适合您(内置,仅配置 - 您需要跟踪您的用户群)

  • 调用客户端机器上的证书:只有那些拥有正确证书的机器才被允许进入;非常适合封闭的用户组,在一般面向互联网的场景中不太好(内置,仅配置)

  • 某种必需的 header - 根据数据库进行检查(例如“有效 header 标记”),或者仅由例如计算校验和或其他东西 - 任何知道您的“ secret ” header 的人都可以调用(内置,需要一些编码来提取和检查 header )

  • 一些自定义解决方案 - 您可以定义自己的身份验证/授权方案,并根据自己的喜好对其进行自定义;需要您身边的一些代码 - 但为您提供了最大的灵 active (您的自定义代码一直都是)

  • 没有检查 - 只对任何人开放(内置,仅配置)

WCF 杰出大师 Juval Lowy 在 MSDN 杂志上发表了一篇很棒的文章:Declarative WCF Security - 也许这可以给你一些额外的提示和指示。他基本上定义了五个场景,并针对每个场景讨论了他推荐的解决方案(并将这些内容烘焙到现成的、基于属性的声明性框架中)

关于c# - WCF:Web 服务登录/身份验证:如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4227066/

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