了解Microsoft Access安全性

简介

在早期版本的 Microsoft Access(Microsoft Access 2000 以前)中,有关安全性的知识有时被认为是无法为任何人所掌握和应用的。您需要按顺序执行很多步骤,一旦遗漏某个步骤或者颠倒了顺序就会带来灾难性的后果。随着 Microsoft Access for Microsoft Windows 95 的 Security Wizard 出现,以及 Microsoft Access 2000 的 Security Wizard 的不断改进,在 Access 中实现安全性已变得非常简单。但是,即使有了这些帮助,您也必须清楚自己的安全选项,并掌握在数据库中保护数据和对象的操作。否则,轻者会带来数据安全隐患,重者会将您锁在自己的数据库之外。有很多方法可以保护您的 Access 数据库以及其中包含的数据。在本文中,我们将讨论用于保护组成数据库的各个对象(包含数据)、包含诸如窗体和报表等元素的对象以及代码(可能是数据库中最有价值的部分)的方法。本文中讨论的安全技巧只适用于 Microsoft Access 数据库 (.mdb) 文件。

需要了解的有关保护敏感数据的知识

您应该知道,有很多工具和第三方实用程序可以用于探测任何类型的数据库的密码,以及来自任何工作组信息文件的用户名和密码(本文后面将详细介绍工作组信息文件)。如果需要保护敏感数据免受非法访问,最好的安全措施就是使用计算机操作系统提供的文件级安全性和文件共享安全性。文件级安全性涉及在数据文件上设置权限。文件共享安全性涉及限制对数据文件存储位置的访问。文件共享安全性的一个示例是在存储数据文件的文件夹(位于本地计算机或网络服务器上)上设置用户权限。为此,可以将数据拆分到多个文件中,在这些文件上设置用户权限,再将这些文件放置到受保护的文件共享空间中。然后可以从具有安全设置的 Access 数据库链接到这些文件。

Access 安全性概述

以下各节介绍了几种保护 Access 数据库的方法。

加密或解密数据库

最简单(也是安全性最低)的保护方法是对数据库进行加密。加密数据库就是将数据库文件压缩,从而使某些实用程序(如字处理器)不能解读这些文件。加密一个不具有安全设置的数据库并不能保证数据库的安全,因为任何人都可以打开数据库并完全访问数据库中的所有对象。有关对数据库进行安全设置的详细内容,请参阅本文后面的使用 Security Wizard 设置 Access 数据库的安全性。加密可以避免在以电子方式传输数据库或者将其存储在软盘、磁带或光盘上时,其他用户偶然访问数据库中的信息。然而 Jet(Access 使用的数据库引擎)使用的加密方法非常薄弱,因此绝不能用于保护敏感数据。“加密/解密数据库”命令位于“工具”菜单的“安全”子菜单中。解密数据库是对加密过程的逆运算。

使用自定义界面

另一种相对简单的保护方案是使用自定义界面代替 Access 标准界面。与加密一样,它也不能保护数据库中的对象和敏感数据的安全。通过选择“工具”菜单中的“启动”选项,您可以指定自定义的启动窗体、菜单,甚至自定义的标题和图标。还可以选择取消 Database 窗口,从而对缺乏相应技术的应用程序用户隐藏这些对象。“启动”对话框的各项功能也可以通过编程实现。有关如何从“启动”对话框设置启动选项的详细信息,请参阅 Access 帮助中的“关于启动选项”。有关如何通过编程设置启动选项的详细信息,请参阅 Access 帮助 Microsoft Visual Basic 编辑器的“设置‘启动’选项和编码中的选项”。

设置数据库密码

您可以在数据库上设置密码,从而要求用户在访问数据和数据库对象时输入密码。注意:使用密码保护数据库或其中的对象的安全性也称为共享级安全性。您不能使用此选项为用户或组分配权限,因此任何掌握密码的人都可以无限制地访问所有 Access 数据和数据库对象。“设置数据库密码”命令位于“工具”菜单的“安全”子菜单中。

用户级安全性

除共享级安全性外,您还可以使用用户级安全性,它提供了最严格的访问限制,使您能够最大限度地控制数据库及其中包含的对象。这是我们所推荐的数据库保护措施的一部分(当和操作系统提供的文件级和共享级安全性结合使用时),因此我们将在本文后面对用户级安全性做详细介绍。同样,我们也将讨论用于保护数据库中包含的 Visual Basic for Applications (VBA) 代码的各种方法。警告:用户级安全性(在单独使用时)主要用于保护数据库中的代码和对象,以免用户不小心进行了修改或更改。如果不希望用户非法访问窗体、报表或模块中的代码,则必须将 .mdb 文件转换为 MDE 文件(本文后面将详细介绍)。要避免用户修改数据库中的查询、宏或数据访问页,唯一的方法就是将数据库文件放在一个受保护的文件共享区域中。此外,在 Access 中不可能既允许用户修改表中的数据,同时又禁止其修改表的设计或删除表。要提供这样一种功能,需要使用一个基于服务器的数据库产品,例如 Microsoft SQL Server。

设置模块密码

使用密码可以保护所有标准模块和类模块(例如窗体和报表中包含的代码)以免用户不小心修改或查看 VBA 代码。设置密码后,您只需在每次会话时输入一次密码,以便在 Visual Basic 编辑器中查看或修改代码。除查看和编辑外,在剪切、复制、粘贴、导出或删除任何模块时也都需要密码。但应该清楚的是,使用这种方法保护代码不能防止您或其他用户运行代码,也不能防止其他用户使用第三方实用程序(如 16 进制编辑器)来查看代码。要完全保护代码,必须将 .mdb 文件转换为 MDE 文件。要为项目中的模块设置密码:

1. 为该项目从 Visual Basic 编辑器的“工具”菜单中选择“属性”命令。
2. 在“项目属性”对话框中,单击“保护”选项卡。
3. 选中“查看时锁定工程”复选框并键入密码。
4. 在“确认密码”框中,重新键入密码,然后单击“确定”。
时间: 2024-09-29 11:15:12

了解Microsoft Access安全性的相关文章

了解 Microsoft Access 安全性

access|安全|安全性 简介在早期版本的 Microsoft Access(Microsoft Access 2000 以前)中,有关安全性的知识有时被认为是无法为任何人所掌握和应用的.您需要按顺序执行很多步骤,一旦遗漏某个步骤或者颠倒了顺序就会带来灾难性的后果.随着 Microsoft Access for Microsoft Windows 95 的 Security Wizard 出现,以及 Microsoft Access 2000 的 Security Wizard 的不断改进,在

Access安全性之QA详解

在写这篇文章前首先要感谢网友:松木.zengwb.秋天.4432,谢谢他们围绕Access安全性的讨论,现摘录如下: Q MDB我用[启动]的所有选项都 False,用封面表单启动,同个工作组的用户没授权是不能开打表修改,但他可以另建一个空数据库,进行导入或链接进行修改,如何防范?请赐教! A 首先应该用MS Access Workgroup Administrator程序建立自己腗DW文件,比如newSystem.mdw,然后建立一个新的帐号比如newAdmin,缺省的有AMDIN和,比如GU

Access安全吗?——Access安全性之QA详解

access|安全|安全性|详解 Access安全吗?--Access安全性之QA详解       Access安全吗?--Access安全性之QA详解     很多朋友在使用 MDB 文件时都遇到关于ACCESS的安全性问题,这里就以 Q & A 的方式来回答大家的疑问: Q  MDB我用[启动]的所有选项都 False,用封面表单启动,同个工作组的用户没授权是不能开打表修改,但他可以另建一个空数据库,进行导入或链接进行修改,如何防范?请赐教! A  首先应该用MS Access Workgr

DB2 9与Microsoft Access 2007

毫无疑问,Microsoft Access 2007 (Access 2007)是最被广泛使用的数据报表和维护工具之一.很多时候,我都看到客户们把大量繁琐的数据从企业系统输出到Access 2007中.他们告诉我这样做的原因是因为他们有很多的应用软件,并且信息技术人员习惯在软件开发时建立一个Access前端处理机. 这种方法所涉及的主要问题如下: 1.产生太多的数据拷贝,而保存这些拷贝将导致大量不必要的数据花销. 2.数据的延迟性.对于那些有需要的人们来说,获取最新的数据将花费太长的时间.另外,

microsoft access-找不到Microsoft Access()ODBCD驱动程序的安装历程。请重新安装驱动程序

问题描述 找不到Microsoft Access()ODBCD驱动程序的安装历程.请重新安装驱动程序 我的情况如图,找不到ACCESS选项.目前我已查到这是由于32位的office和64位的WIN7系统体系结构不一致照成的.1,我安装了这个还是没用DataBase Access Engin2打开C:WindowsSysWOW64里面有个odbcad32.exe还是不管用.

如何使用ADO來压缩或修复Microsoft Access文件

 以前使用 DAO 時,Microsoft 有提供 CompactDatabase Method 來压缩 Microsoft Access 文件,RepairDatabase Method 來修复损坏的 Microsoft Access 文件,.可是自从 ADO 出來之后,好像忘了提供相对的压缩及修复 Microsoft Access 文件的功能. 現在 Microsoft 发现了这个问题了,也提供了解決方法,不过有版本上的限制!限制說明如下: ActiveX Data Objects (ADO

怎样经由ADO来压缩Microsoft Access数据库

HOWTO: Compacting Microsoft Access Database via ADO --------------------------------------------------------------------------------The information in this article applies to: ActiveX Data Objects (ADO), versions 2.1, 2.5, 2.6 Microsoft OLE DB Provid

Microsoft Access中文帮助BUG

Format 属性 原文给定的颜色名是错误,使用错误颜色名,得不到想要的结果,且会出现显示"[颜色名]"字符. 原文: 可以使用 Format 属性自定义数字.日期.时间和文本的显示方式. String 型,可读/写. expression. Format expression 必需.返回"应用于"列表中的一个对象的表达式. 说明 可以使用预定义的格式,或者可以使用格式符号创建自定义格式. Format 对不同的数据类型使用不同的设置.有关特定数据类型的信息,请参见

Microsoft Access秘密、技巧和陷阱

Microsoft Access秘密.技巧和陷阱 布莱恩C.布莱克曼 系统支持工程师,Microsoft Access Basic 摘要 这篇文章概括了当使用Microsoft Access 时,通过使用Access Basic可以增加应用程序的执行速度,减少编码量,同时也减少在为Microsoft Windows应用程序接口编程时.在开发应用程序中遇到的问题的技术.谨慎地使用变量和它所占用的存储空间能有效地减少一个应用程序所消耗的资源,同时也全面提高了它的性能. 不正确地调用Windows应用