多层应用程序安全性

在决定在多层、基于组件的应用程序中在何处实施安全性时,你可能会面临艰难的选择:在数据库? 在中间层? 在组件中? 别处? 所有位置? 随着安全机制的数量和复杂性的增加,性能下降和应用程序行为变得不那么可预测。 尽管如此,必须确保数据得到保护,遵循业务规则,并记录重要活动,并且应用程序仍能按预期为客户端工作。 必须确定通过应用程序的每个客户端路径都是正确的,并且你已建立的安全检查点足够了。

最困难的决定往往是是否在数据库中强制执行安全性。 在过去,这是安全性最严格的地方,因为它被认为是一个需要确保切实的领域,数据库管理员非常不愿意信任其他人来为他们执行安全性。 但是,在数据库中实施安全性可能非常昂贵,而且很难扩展,这正是编写多层应用程序的首要目的。

使用 COM+ 的可扩展多层应用程序遵循的一般规则是,应尽可能在中间层的 COM+ 应用程序中强制实施详细的安全性。 这样,便可以充分利用 COM+提供的可扩展服务。 只有在绝对需要的时候才对数据库进行身份验证,并充分权衡这样做对性能的影响。

有关决定在何处执行安全检查时要考虑的问题的讨论,请参阅决定实施安全性的位置

有关保护多层应用程序的某些基本方案的讨论,请参阅保护多层应用程序中数据的基本方案

客户端身份验证

客户端模拟和委托

库应用程序安全性

编程组件安全性

基于角色的安全管理

在 COM+ 中使用软件限制策略