postgresql - 当 MS Access 用作前端和PostgreSQL作为后端时,如何隐藏/锁定链接的PostgreSQL表?

  显示原文与译文双语对照的内容
128 3

我有 MS Access 作为前端,PostgreSQL作为数据库后端。 所以我用PostgreSQL建立了数据库,并使用ODBC驱动程序将表链接到 MS Access 。 一切正常,我可以更新 MS Access 中的表,并且记录将显示在Postgres数据库中。

因为我仍然可以看到 MS Access 中的链接表,所以一些用户可以进入并手动修改表格。 是否可以隐藏表或者锁定表,以便Access用户无法修改所有的原始数据。 如果没有,我可以做什么来保护数据库的完整性。

谢谢!

时间: 原作者:

145 1

我建议看一下 ,Postgres,作为一种锁定表格的方法。

简而言之,你可以让后端运行为具有完全访问权限的用户,并且当用户登录到应用程序时,使用特权,该用户的特权相当地被锁定为( 。说,只有只要你只想能够对表面数据进行 SELECT 处理,才能读取)的用户。

例如你可以针对你的 Postgres服务器运行以下 SQL:


REVOKE ALL ON accounts FROM joe;
GRANT SELECT ON accounts TO joe;

方法首先将用户的所有特权从 joe joe joe joe accounts,然后只允许该表的SELECT priveleges for 。

你可以对所有的表做类似的事情,你希望锁定。 你还需要对那些表使用的序列做同样的事情。

你可能希望创建一个特殊的 readonly user用户,它只读取整个板,并使用这些凭证将用户的Postgres Postgres数据 surface access 。

当需要改变数据时,后端可以专门使用内置的power用户排序,这种用户的访问能力更高。

下面是一个链接,它详细地创建了一个 ,readonly,Postgres 。

If使用户可以直接锁定表,但只需要对这些表的数据进行授权,就可能不需要对这些表进行修改,而只需要使用足够的访问权限就可以。

原作者:
...