0

我想知道实现身份验证的最佳方法。使用业务对象的客户端-服务器应用程序中的规则。

我注意到常见的策略是:
- 在数据库方面:为应用程序实现一个角色,用于所有应用程序的用户
- 定义用户权限和角色并将用户分配给适当的组
- 客户端:添加到业务对象的 getter/setter 权限检查器允许为特定用户写入/显示数据

我担心的是,从安全角度来看,这是否真的是一种好方法。
它看起来数据库将所有信息发送给客户端,然后客户端的逻辑决定显示或不显示什么。
因此,潜在的高级用户可以从他们的框中进行查询并查看/更改任何内容。不是吗?

4

1 回答 1

0

如果数据库正在向客户端发送所有信息,包括一些用户不应该看到的信息,那么你就有了安全问题。您应该只返回用户有权查看的数据量。

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

于 2010-04-02T03:09:05.430 回答