2

您好,感谢您抽出宝贵时间阅读本文,

我在我们的沙箱中闲逛,我正在努力寻找使我们的数据库更安全的最佳方法。

我们遇到的问题是我们有 3 个数据库,我们需要每个数据库的信息(使用联合和视图)。我们还有外部航运公司和商家需要访问我们数据库中的某些信息。

我的想法是创建一个具有不同商家模式(称为MVIEW)的单独数据库。然后根据商家的需要在这些模式中创建视图。然后视图将访问来自其他服务器的数据(问题是这将要求商家拥有SELECT其他服务器的权限等)

所以在这一点上,我认为在每个数据库中创建商家模式并在其中创建可以访问数据库中必要信息的视图,然后让HVIEW数据库访问这些视图是明智的。这样我就可以让商家只选择这些模式。

问题仍然存在,错误表明权限被拒绝并且用户无权访问视图试图查看的模式。

你有什么建议吗?

感谢你的宝贵时间。

4

1 回答 1

0

仅授予他们对某些视图的访问权,而不是对数据表的访问权。并在视图中,引用用户登录 ID。因此,在幕后,隐藏在视图中,您将使用 WHERE 子句限制他们的访问

示例:选择 . . . . 其中供应商用户=SYSTEM_USER

示例:选择 . . . . 其中 externalAccess=1 和 SYSTEM_USER in(从 tbl_externalUsers 中选择名称)

于 2012-12-11T21:46:46.897 回答