2层3层:哪个更安全?

时间:2012-02-14 05:49:40

标签: security architecture n-tier-architecture

我正在阅读有关架构的内容并找到以下表达式:

例如,在2层Windows窗体或ASP.NET应用程序中,运行接口代码的计算机必须具有访问数据库服务器的凭据。切换到3层模型,其中数据访问代码在运行“运行”的应用程序服务器上运行。代码不再是接口需要这些凭据,使系统可能更安全。 (罗克福德洛特卡)

我无法理解为什么我应该使用3层应用程序。

1 个答案:

答案 0 :(得分:1)

在三层应用程序中,中间层(应用程序服务器)控制对数据的所有访问,因此可以指定非常精细和特定的访问控制规则(在代码中),远远超过数据库本身提供的。无论最终用户想要做什么,都必须通过您的代码(在双层应用程序中,最终用户“直接”与数据库对话)。

OTOH,如果您停止使用数据库访问保护,现在完全取决于您的应用程序保护数据,编码错误可能会造成巨大的安全漏洞。