2009-07-10 36 views
0

我很好奇实施验证的最佳方法。使用Business Objects的Client-Server应用程序中的规则。授权规则的最佳途径

我注意到常用的策略是:
- 在DB方面:实现一个申请的作用,适用于所有应用程序的用户
- 定义权限的用户和角色,将用户分配到适当的组
- 客户端方:添加到Business Object的getters/setter权限检查器,允许针对特定用户的写入/显示数据

我的担心是如果从安全角度来看这是非常好的方法。
它看起来DB将所有信息发送到客户端,然后客户端的逻辑决定要显示或不显示。
因此,潜在的高级用户可以从他们的盒子查询并查看/更改任何内容。 不是吗?

回答

0

如果数据库正在向客户端发送所有信息,包括某些用户不应该看到的信息,则说明存在安全问题。您只应返回用户有权查看的数据量。

与您的应用程序和数据库设计紧密相关的授权设计。如果您需要非常细微的(可能是每个用户)权限,那么您需要能够在设计中进行相当深入的指定,以确保其安全。如果你只有简单的规则来实现,那么你可以在更高层次上工作,也许可以阻止访问某些对象或表。