2008-11-07 34 views
3

我有一个MS访问数据库。但它在共享驱动器上。要求只有一些选定的人可以使用它。有没有一种方法来验证用户?有什么方法可以在ms-access数据库中验证用户身份吗?

+0

@ Varun的 - 你可能想澄清。你正在寻找数据库中的安全吗?还是你正在寻找整个数据库的安全性?对于前者,我的意思是有人可以进入,但他们不能删除记录或类似的东西。后者会像诺克斯的答案一样。 – 2008-11-07 13:44:00

+0

这是整个数据库的安全性 – 2008-11-07 13:52:41

+0

@ Varun - 您可能想编辑您的问题以反映这一点。我就是这么说的。 :-) – 2008-11-07 14:05:51

回答

4

由于Access是文件驱动的,为什么不在共享驱动器中创建文件夹并将文件夹权限分配给适当的人员。

5

是的,打开数据库,然后运行工具 - >安全 - >用户级安全向导。它将引导您完成创建新工作组文件,创建用户和组以及保护Access对象的过程。

+0

这是否阻止某人复制实际文件?诺克斯的解决方案似乎涵盖了这一点。 – 2008-11-07 13:45:15

0

用户级安全性不可用在Access 2007

Get started with Access 2007 security报价:

  • 信托(启用)在数据库
  • 禁用内容 使用密码 加密或解密一个数据库
  • 打包,签署和部署Office Access 2007数据库
0

如果您位于域中,您是否可以不使用文件级安全性来阻止用户访问它?

-2

两个解决方案:

  1. 广场上设置合适的权限的文件共享访问文件。如果您需要提供只读访问权限,则此功能无法正常工作,因为Access无法写出在打开Access文件(.mdb)时创建的临时.ldb文件。

  2. 将Access文件的“数据”移至Sql Server实例...您可以在SQL服务器中进行权限限制人们可以执行的操作。我们使用这种方法为每个人提供只读访问权限,然后为具有读写访问权限的特定人员提供访问权限。要将数据移动到SQL,您需要将其导入到一个新的SQL数据库中,然后将这些表链接到Access文件(重命名以便报告/查询/等继续工作)。

2

两者兼而有之。设置目录的访问权限并为其创建一个新的安全文件。

该目录是您的一线安全性,并限制在宏观层面

安全访问文件可以用来段访问的各种表格,表单,报表等你甚至可以我们给它有些人只读取访问权限和其他更多的完整权限。

0

我在VBA中做了所有这些。在交换机Form_Open sub中,将用户名读入带有Windows API的字符串变量,然后检查用户名是否在有效用户列表中。如果确定,则发出欢迎消息,如果不是,则退出Access。

'检查用户 昏暗的用户作为字符串 昏暗AuthorizedUser由于布尔 用户=用Ucase(CurrentUser())

AuthorizedUser = True 
Select Case user 
    Case "USER_A": 
    Case "USER_B": 
    Case "USER_C":  
    Case Else: AuthorizedUser = False 
End Select 

If AuthorizedUser = True Then 
    MsgBox "Welcome authorized user " & user 
Else 
    MsgBox user & "is not Authorized. For access to this database contact User_A" 
    DoCmd.Quit 
End If 
相关问题