gpt4 book ai didi

c# - 在 DMZ 中进行 WCF 用户名/密码身份验证的推荐方法是什么

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

我希望通过 Internet 托管一组有限的客户端可以访问的 WCF 服务,如下所述:

Best way to secure a WCF service on the internet with few clients

我打算在此阶段使用具有传输安全性(即 SSL)的用户名/密码身份验证(使用现有的成员(member)基础设施)。

我想知道当成员(member)数据库显然在公司网络内部时,推荐的处理身份验证请求的方法是什么。

我正在考虑的选项是:

  • 公共(public)防火墙将执行 SSL 卸载,然后 DMZ 服务器将请求反向代理到内部 WCF 服务器 - 我假设凭据将被保留并通过这种方法传递,并且内部服务可以适本地使用成员身份提供者对用户进行身份验证。
  • 编写一个外部 WCF 服务,它将使用自定义用户名/密码身份验证。这将调用网络内部的身份验证服务,以访问成员详细信息。验证凭据后,调用将基本上传递到实现所需功能的内部服务。

这两种选择都可行吗?他们中的任何一个有什么主要的优点/缺点吗? (显然反向代理是少了很多代码...)

最佳答案

我决定使用第二个选项。我已经有一个防火墙内部的成员服务,所以我将创建该服务以位于 DMZ 中并实现自定义 UsernamePasswordValidator 并使用它来调用成员服务以验证凭据(并沿着轨道然后我可以实现自定义 ServiceAuthorizationManager 来检查角色/权限)。

假设凭据得到适当验证,该服务随后将调用防火墙内部的主要服务来执行该功能。

关于c# - 在 DMZ 中进行 WCF 用户名/密码身份验证的推荐方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28666505/

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