我正在处理一种无法让我深信服的架构方法,但我想不出一个好的替代方案。基本上,我们公司几乎总是受到攻击......我的意思是不断尝试对我们的公共网站进行网络钓鱼、欺骗、暴力破解等攻击。已决定在 3 层配置上部署 Web 应用程序(我的意思是层,而不是他们经常混淆的层),让表示层位于机器上,位于暴露于 Internet 的子网中,其余部分应用程序位于内部子网上,应用程序服务器基本上公开演示服务器或其他内部系统所需的一切,并且显然是数据库服务器。
现在,表示和业务逻辑之间的分离在开发和性能方面都非常重要:使用专用的 DLL 执行数据访问显然比调用远程服务执行相同的操作要快。
另一方面,这被视为提高安全性的最实用的方法:在这种部署模型中,表示层可能会被黑客攻破,但仍然无法访问数据库,这就是重要部分。
表示层和业务层之间的通信是通过 WCF 服务进行的,公开经过身份验证的 SOAP 方法。
而且做法是让BL层中的所有业务逻辑,让表现层相当“愚蠢”:所以BL层不仅仅是一个安全的DAL层,而是包含了所有的逻辑。
这是可以接受的方法吗?有一些更聪明的方法可以处理我们缺少的这种情况吗?您是否愿意将 BL 保留在演示层,而仅将 DAL 放在中间层?出于什么原因?我对我们的解决方案感到非常不确定,所以我正在寻求任何建议。