MS Access用户和组权限 - 更改不传播 - 多个用户MDE前端 - 网络后端

时间:2012-06-12 09:50:34

标签: security ms-access permissions

设置:

  • 每个X用户都使用连接到单个后端MDB的MS Access前端MDE实例。
  • 用户级访问/权限控制(例如,用户,受信任用户,管理员)。
  • 所有更改均通过工具 - >安全性 - >等进行。 MS Access菜单选项。
  • 所有安全性都存储在单个secure.mdw文件中,所有MDB实例都连接到该文件。

问题:

  • 修改特定组的权限(例如,可信用户) - 例如,从允许修改查询到无法修改查询 - 更改在MDB实例上进行更改(按预期进行) ),但不是在其他情况下(即其他PC上的MDB实例)。基本上,在进行更改后,如果我们转到其他一个实例并以管理员身份登录,我们会看到该组(可信用户)的权限未发生更改。

  • 有趣的是(回到第一个MDB实例),如果我们将用户移出一个组并进入另一个组,然后转移到另一个MDB实例,我们现在看到此更改已传播到所有其他实例 - 从而表明它们确实指向同一个MDW文件。

问题:

  • 是否会在一个MDB实例上修改组权限不会传播到所有MDB实例(即使它们指向单个MDB文件)?

  • 如果是,这是否意味着我们必须在更改群组权限后重新安装每个MDB实例?

  • 或者说,我们的方法是不正确的?我们应该以不同的方式修改组权限吗?

如果您需要任何进一步的信息,请告诉我。

非常感谢。

1 个答案:

答案 0 :(得分:1)

所有安全性都存储在单个secure.mdw文件中,所有MDB实例都连接到该文件。

工作组信息文件(MDW)仅存储用户和组的定义。数据库对象权限存储在包含这些对象的数据库中。数据库对象权限引用MDW中定义的用户和组。

因此,查询的权限存储在MDE文件中。更改一个MDE中的权限不会影响其他MDE副本。

您可以执行以下操作之一:

  • 将更新的MDE版本分发给您的用户
  • 由每个MDE中的管理用户执行DDL语句(GRANT / REVOKE)

有趣的是(回到第一个MDB实例),如果我们将用户从一个组移到另一个组中,然后转移到另一个MDB实例,我们现在看到此更改已传播到所有其他实例 - 从而表明它们确实指向同一个MDW文件。

在这种情况下,您更改了该用户的定义。她的权限现在是在当前MDE中授予其团体成员资格的权限。