gpt4 book ai didi

MS Jet Engine 中的数据库级用户安全性

转载 作者:搜寻专家 更新时间:2023-10-30 23:21:42 28 4
gpt4 key购买 nike

我想使用内置于 MS Jet 数据库引擎中的 DAO 系统将用户 Access 控制系统添加到我的一个 MS Access 应用程序。我在 Access 2007 上使用 accdb 数据库。

我了解如何管理 DAO 用户和组。

我发现,要“打开”安全控制,我必须将 admin 的密码从空白更改为某个非空白值。这会强制用户在打开 Access 数据库时登录。然而,我发现,这会强制用户在系统上的每个 Access 数据库中登录。

我的问题:是否可以通过某种方式为某些 accdb 打开用户登录并为所有其他用户关闭?

最佳答案

Access 使用工作组信息文件来存储用户和组帐户信息。默认名称为 System.mdw

您可以通过检查 SystemDb 属性找出当前工作组信息文件的名称及其所在位置。例如,从您的 Access session 中,切换到立即窗口并运行以下行:

? SystemDB 

但是,您可以拥有另一个工作组信息文件并使用快捷方式启动 Access,该快捷方式包括/WRKGRP 开关,后跟备用工作组信息文件的完整路径。

快捷模式包括4个元素。

"Path2EXE" "Path2Db" /WRKGRP "Path2MDW"

这是我的 Access 2003 系统的工作快捷方式。 (它应该全部在一行上;我在这里将它分开,这样你就不需要滚动来查看所有内容。)

"C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE" "P:\Access\wip\sandie\NewDB.mdb" 
/WRKGRP "P:\Access\wip\sandie\Security.mdw"

所以重点是您可以有两个(或更多)工作组信息文件:默认没有管理员密码,用于不安全的数据库;另一个带有管理员密码,您可以将其用于安全数据库,并在打开它们时使用/WRKGRP 开关进行引用。

剩下的问题是如何创建备用工作组信息文件。使用用户级安全向导并选择“创建新的工作组信息文件”选项。

还有一点让我不解的是,你说的是Access 2007和ACCDB。我的理解是 Access 2007 和 2010 仍然支持用户级安全性,但只支持较旧的 MDB 数据库格式,不支持 ACCDB 格式。

最后一点:如果您需要防弹安全,ULS 是不够的。可以使用 Access 密码破解程序来破解它。据说它们很容易找到,但我从来没有自己寻找过。

关于MS Jet Engine 中的数据库级用户安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5889562/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com