Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

access的一个安全漏洞如何解决?

wumj  发表于:2008-03-11 21:36:40  
复制

我用的的是access2003。
问题:

    用设计好了的窗体来启动,如果加了shift锁,任何表和查询的视图和设计及SQL公式都能做到看不到。可以让他看到部分只能是用宏打开的表或查询的字段和数据表视图而已。

    但是,级别较低的只读用户,它可以在他登录的工作组中新建一个*mdb文件,然后,通过导入原经过启动处理的数据库,其中表和查询等对象可以轻松导出,想怎么看就怎么看。

    假如不希望他看到这么多。如何防止具有较低权限的只读用户,不能导出表和查询?

 

Top
竹笛 发表于:2008-03-12 13:28:54

方案一:给数据库加一个密码。

方案二:用工作组安全级



wumj 发表于:2008-03-12 14:24:08

这两种方案都试过,不管用。

理由:

方案一,该只读用户既然是用户,数据库的加密密码他必须知道。在导入时,是需要输入密码才行,可是他知道呀,所以防不住。

方案二,我用的就是工作组安全级,而且是定制的用户组授权方式——权限最低的只读用户组,该组总得有用户吧,这样该用户自然就获得只读用户组的权限,有了该权限,该用户就可以在此工作组文件下新建空*mbd文件,通过导入功能,轻松地原汁原味地把本不想让他看到的原数据库中的表和查询导出来。



竹笛 发表于:2008-03-12 21:35:43

尝试一招,用一个MDB作为启动文件,来启动你的软件:http://www.accessoft.com/article-show.asp?id=143



wumj 发表于:2008-03-13 14:32:14

谢谢版主!

这个方法试后,对非工作组安全模式下即单用户数据库管用,它是把受保护的数据库先加密码,把密码隐藏在启动文件的VBA中,不让打开的人知道。

在工作组安全模式下,工作组授权用户密码先出现,开启不了要的数据库,且不说工作组用户密码要输两次。这如何办呢?



竹笛 发表于:2008-03-13 14:36:34
wumj 发表于:2008-03-13 14:56:02

我的帖子的本意是:在工作组安全模式下,如何防止权限较低的只读用户导出本来不想让它知道的表和查询等对象。版主在3楼的答复中的方法解决了一半的问题。不能解决上文的问题。

我试过,把表和查询等对象的属性中设为隐藏,此时在导出的对话框中看不到,也就导不出来。但是,他如果在导入前,先在   工具——选项——隐藏对象的框中打钩,就隐藏不住了,可以导出。



朱亦文 发表于:2008-03-27 14:58:58

解决办法是:

1、使用工作组安全

2、一般用户不能访问表

3、一般用户要查看的数据,采用查询体现,注意查询使用WITH OWNERACCESS OPTION选项

 

=======================================

 

WITH OWNERACCESS OPTION 声明
 

在具有启用安全机制的工作组 (启用安全机制的工作组:一种 Access 工作组,在其中用户以用户名和密码登录,并且按照授予指定用户帐户和组的权限来限制用户对数据库对象的访问权限。)的多用户环境中,在查询中使用这个声明可以向运行该查询的用户授予与查询所有者同等的权限 (权限:一组属性,用于指定用户对数据库中的数据或对象所拥有的访问权限类型。)

语法

sqlstatement
WITH OWNERACCESS OPTION

注解

WITH OWNERACCESS OPTION 声明是可选的。

以下示例允许用户查看薪金信息(即使用户本来没有查看工资单表的权限,而查询的所有者具有该权限):

SELECT LastName, FirstName, Salary
FROM Employees
ORDER BY LastName
WITH OWNERACCESS OPTION;

如果某个用户本来被禁止创建表或向表添加内容,您可以使用 WITH OWNERACCESS OPTION 来允许该用户运行生成表查询 (生成表查询:一种查询(SQL 语句),它创建一个新表,然后通过从一个现有表中复制记录,在新表中创建记录(行)。)追加查询 (追加查询:一种动作查询,它将查询结果集内的记录添加到现有表的尾部。)

如果要实施工作组安全设置和用户权限,请不要包括 WITH OWNERACCESS OPTION 声明。

此选项要求您具有对与数据库关联的 System.mdw 文件的访问权限。它仅在启用了安全机制的多用户实施中有用。



总记录:7篇  页次:1/1 9 1 :