MS Access - 创纪录的安全性
MS Access - record level security
我有一个 MS Access 数据库,除了少数用户外,所有用户都在同一组中。我不需要限制用户访问某些对象。相反,我需要为当前用户提供对其记录及其相关记录的写入权限,以及对所有其他记录的只读权限。这可能吗?
不幸的是,无论是 Access、SQL 服务器还是 Oracle,都没有内置对单个用户的行限制。这意味着您必须构建某种类型的界面,您可以在其中 grab/use 用户登录 ID(他们的网络 pc id,或提示输入用户 + 密码)。然后,当加载表单时,您必须将记录限制为给定的用户。有很多方法可以做到这一点,它们都是过滤或限制数据的标准方法。但是 "YOU" 必须构建此类代码并将其写入表单。您或许可以将表单基于带有表达式(VBA 或宏 TempVars)的查询,该表达式限制返回给定用户的记录。
所以你必须为大多数数据库“烹饪”和“编码”这种能力。因此,您还需要编写代码以“保存”创建记录的用户名。当希望将数据限制为单行时,大多数系统都需要这种编码要求,并且此类功能通常不会内置到数据库系统中。您还可能需要限制和阻止用户打开数据库并查看 table 视图。
我有一个 MS Access 数据库,除了少数用户外,所有用户都在同一组中。我不需要限制用户访问某些对象。相反,我需要为当前用户提供对其记录及其相关记录的写入权限,以及对所有其他记录的只读权限。这可能吗?
不幸的是,无论是 Access、SQL 服务器还是 Oracle,都没有内置对单个用户的行限制。这意味着您必须构建某种类型的界面,您可以在其中 grab/use 用户登录 ID(他们的网络 pc id,或提示输入用户 + 密码)。然后,当加载表单时,您必须将记录限制为给定的用户。有很多方法可以做到这一点,它们都是过滤或限制数据的标准方法。但是 "YOU" 必须构建此类代码并将其写入表单。您或许可以将表单基于带有表达式(VBA 或宏 TempVars)的查询,该表达式限制返回给定用户的记录。
所以你必须为大多数数据库“烹饪”和“编码”这种能力。因此,您还需要编写代码以“保存”创建记录的用户名。当希望将数据限制为单行时,大多数系统都需要这种编码要求,并且此类功能通常不会内置到数据库系统中。您还可能需要限制和阻止用户打开数据库并查看 table 视图。