学院首页>软件教学>办公软件>建立Access 数据库的安全门

建立Access 数据库的安全门

作者: 来源: 添加时间:2006-5-24 10:03:53

  三、用户级安全机制

  使用用户级的安全机制,可以更灵活更安全的保护数据库。在这种安全机制下,

  在Access关联的工作组信息文件中建立用户和工作组帐户,用来管理用户;在具体的数据库中管理对象权限,可以给用户和工作组分别指定使用权限。用户要输入用户名称和密码才能打开数据库,对数据库的操作要受拥有权限的限制。

  1、工作组信息文件

  在Microsoft Access中,用户和工作组的信息帐户,是存储在工作组信息文件中的,即使用工作组信息文件来管理用户和工作组。而默认的工作组信息文件是:C:Program FilesMicrosoft OfficeOfficeSystem.mdw。

  用户也可以建立自己的工作组信息文件,用来按照自己的需要来划分和管理用户和工作组,一般是存放在数据库所在的工作目录下的Secured.mdw文件中,当然用户也可以自己指定文件名和存放位置,但文件的扩展名不可以变。

  工作组信息文件与整个Access关联对应着,在Access运行环境下有效,而不是对应某个数据库的。每次Access启动,都要读取工作组信息文件从而得到用户和工作组的帐户信息。默认是读取默认工作组信息文件System.mdw,但用户可以指定Access与哪个工作组信息文件关联:运行工作组信息管理器Wrkgadm.exe,(通常在C:Program FilesMicrosoft OfficeOffice下已经有指向该程序的快捷方式MS Access Workgroup Administrator)可以创建新的工作组信息文件或指定Access联接某一个工作组信息文件。还可以在启动Access的时候用命令行启动参数选项/wrkg <工作组信息文件名>来指定联接的工作组信息文件。

  2、工作组信息文件的管理

  启动MS Access Workgroup Administrator快捷方式,在工作组管理员窗口中,点联接按钮可以更改Access启动时要联接的工作组信息文件:在弹出的工作组信息文件窗口中指定文件的路径名称即可。点创建按钮,则可以创建一个新的工作组信息文件:在弹出的工作组所有权信息窗口中,输入工作组名称、单位、工作组ID三项内容。在工作组信息文件窗口中输入工作组信息文件数据库的存放路径和名称。这就可以创建新的工作组信息文件,并已经建立了关联。

  工作组ID是工作组唯一的唯一性标识,用于区别于其它的工作组信息文件,必须要保存好,必要时可以凭此重建文件。

  在Access下,点击菜单:工具—安全—用户级安全性向导,选中新建工作组信息文件,也可以建立新的工作组信息文件。

  3、安全机制

  在用户级安全机制下,每个用户有用户名称、个人标识(PID)、根据名称和PID用加密算法产生的唯一安全标识(SID)、密码;每个工作组有唯一的工作组名称、个人标识(PID)、安全标识(SID),组没有密码,也不能用组名登录。

  用户和组的个人标识(PID)是唯一的,由4~20个字符组成,区分大小写。用户和组的安全标识SID(Security ID),是由名称和PID用加密算法产生的,唯一性的。

  在工作组信息文件中(实际是特殊的Access数据库),表MsysAccounts中保存用户和组的名称、SID、密码信息,用户和组的SID和用户的密码,是用二进制保存的。在表MsysGroups中,存储工作组SID和用户SID之间的对照关系,以此判断用户属于哪个组。这两个表都是隐藏系统表。

  用户和组,对于数据库机器各对象之间的对应操作权限关系,并不保存在工作组信息文件中,而是存放在数据库文件中,是因数据库而异的。在Access数据库(.mdb)文件中,有一个隐藏系统表MSysACEs,其中存放着用户和组的SID以及与之对应的数据库各对象的标识ID,还有操作权限信息。以此表示用户和组与数据库对象之间的对应和操作权限关系。

  在用户打开数据库时,Microsoft Access根据用户输入的用户名称和密码,在工作组信息文件的MsysAccounts表中查找该用户的SID,若未找到则提示帐户无效并让重新输入;若找到了用户的SID,则在MsysGroups表中查找到用户所属组的SID。根据找到的用户和组的SID,再去数据库(.mdb)的MSysACEs表中查找对应的数据库对象ID和其权限信息,由此可以确定用户和组可以访问什么数据库对象及有什么操作权限。

第 2 页,共 2 页 [1] [2]
站内搜索