2015-02-23 86 views
1

我期待托管WCF服务访问在互联网上一组有限的客户,如这里所描述WCF的用户名/密码认证:什么是推荐的方式做在DMZ

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

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

我想知道什么是推荐的方法来处理身份验证请求,当会员数据库显然是企业网络的内部。

选项我正在考虑是:

  • 公共防火墙会做SSL卸载,然后DMZ服务器将反向代理请求到内部服务器WCF - 我假设的凭证将被保留,通过此方法传递,并且内部服务可以适当地使用成员资格提供程序来认证用户。
  • 写一个哑巴的WCF服务来坐在外部,这将使用自定义的用户名/密码认证。这将调用网络内部的认证服务,以访问会员资格。一旦证书被验证,该调用将基本上被传递给实现所需功能的内部服务。

这两个选项都可能吗?他们中的任何一个都有什么重大的利弊? (显然反向代理是少了很多代码...)

+0

我在这里避免使用“最好”这个词,你会得到更多的关于什么以及你如何测量的评论,而不是实际的答案。 – abatishchev 2015-02-23 03:33:22

回答

0

我已决定使用第二个选项。我已经拥有防火墙内部的会员服务,所以我将创建服务以便坐在DMZ中并实施自定义UsernamePasswordValidator并使用它来调用会员服务以验证凭证(然后沿着轨道执行自定义ServiceAuthorizationManager检查角色/权限)。

假设证书正确验证,服务会调用防火墙内部的主要服务来执行功能。

相关问题