我正忙着设计一个 WCF 应用程序。该应用程序的目的是让保险会员通过网络访问他们的保险信息。
问题在于我们的网络架构,我不确定我必须使用哪种类型或组合的安全性。
在我们的内部网络中,我们有一个 UNIX 环境,我使用 EntireX .net 包装器访问它,我们有一个 Oracle 10g 数据存储,我通过企业库访问它。
我创建了一个包含业务对象的 BLL 和一个通过 Enterprise Library/EntireX 填充这些对象的 DAL。
我创建了一个带有 2 个 WCF 服务的 WCF 服务层,一个用于访问 oracle 存储,一个用于访问 unix,它们引用 BLL。
我将在防火墙内使用 SQL 2005 的生产服务器上的 IIS 中托管此服务。我们购买了一个我们正在为其创建 DMZ 的 Web 服务器,该 Web 服务器将仅通过端口 443 和/或端口 80 与生产服务器通信。我们公司的 Internet 将可以访问 DMZ 中的 Web 服务器。
表示层将是一个 ASP.Net 前端,它使用 Channelfactory 在代码中调用服务。我使用客户端必须向服务提供的 X509 客户端证书。该服务受 SSL 保护。前端将位于 DMZ 中的 Web 服务器上。
我正在使用带有传输安全性和 clientCredentialType="Certificate" 的 wsHttpBinding,它工作正常,但我想将登录信息传递给服务。我想把它添加到邮件标题中。
现在,我正处于怀疑我的设计可行性的阶段。有人可以给我一些关于在这种情况下我必须使用什么绑定和安全性、如何传递登录信息以及我必须在我的演示层中拥有什么才能最安全的提示。我们可以控制哪些端口将通过防火墙打开到内部生产服务器。我们将只有 1 个 ASP.Net 客户端托管在 DMZ 的 Web 服务器上,但只有 HTTPS 或 HTTP 访问生产服务器。
非常感谢瑞恩
谢谢