2012-04-03 123 views
1

我在同一台服务器上有公共桌面站点,公共移动站点和专用Intranet站点。它们都是用C#(ASP.Net 4.0)编写的。Windows服务或Web服务?

每个人都有自己的代码来处理信用卡付款。我想编写一个应用程序来处理所有3个站点的信用卡支付。我希望这个应用程序只能从这3个本地应用程序访问。

我知道如何做到这一点的唯一方法是创建一个Web服务并限制流量到本地主机。

有没有更好的(“正确”)方法来做到这一点?我应该创建一个Windows服务吗?

+1

听起来像是一个合理的解决方案给我。 – BluesRockAddict 2012-04-03 02:25:00

回答

0

一般的方法是健全的。但是,我不仅仅将访问限制在本地主机上。稍后的某个时间点配置错误可能会导致您的付款Web服务受到影响。另外,如果服务器受到威胁,那么在本地主机上运行的任何进程都将具有未经检查的访问权限。

始终使用身份验证来确保您的付款Web服务的安全。

如果您必须将身份验证服务部署在与前端网站相同的物理盒子上,请特别注意确保付款服务(例如,如果您要存储信用卡号码或与信用账户相关的PII,例如姓名,地址, ...确保数据库正确安全)。如果可能的话,将支付服务放置在独立于面向公众(或面向同事)网站的附加层上,并受适当的防火墙规则保护。

0

我不认为如果您有调用应用程序,Windows服务将是不错的选择。就我所知的WCF而言,我们可以考虑NetTcpBinding和NetNamedPipeBinding。

NetTcpBinding的 - 甲安全和优化的结合适合于WCF应用程序之间的横越机器的通信。

NetNamedPipeBinding - 一种安全,可靠,优化的绑定,适用于WCF应用程序之间的机器间通信。