我的雇主严格限制在微软办公产品和SharePoint。我无法使用不同的数据库解决方案。
我正在尝试实现和共享Access数据库,以允许多个用户输入和编辑数据。但是,我(当然)希望限制用户编辑数据库本身(表、表单等)的能力,并且只能通过表单查看和编辑特定的数据。
不幸的是,微软似乎已经从更新的access数据库中删除了用户和安全性?
显然,我需要使用2000-2003年的数据库来实现安全性,但这样我就会失去2016年Access的所有功能。
所以我的问题是,在Access 2016数据库中是否有一种在数据库中实现用户和安全的方法?
发布于 2018-03-01 03:00:47
Access中的用户安全性不是为了防止用户修改应用程序而设计的。用户安全性的设计是为了说明用户可以打开报表或指定的表单。您也可以使用这个安全系统来防止用户干扰应用程序,但这并不是安全系统的概念或意图。
因此,您从未真正需要(或希望)使用长期不受欢迎的安全系统,因为它也可以防止用户干扰您的应用程序。所以把这些概念分开。
如果您想要锁定应用程序并防止用户乱来?首先,我们假设你的数据库是分裂的。此时,您将向每个工作站分发应用程序的编译“可执行文件”。
编译后的版本意味着用户不能更改代码、表单、报表。如果您的应用程序提供了某种“导航”类型的表单来启动+使用给定的报表或表单,那么您的应用程序就可以隐藏您不希望用户看到的访问部分。
例如,在这个屏幕截图中,我提供了自定义菜单栏,用户不能看到或“去后面”场景来扰乱应用程序部分。这种锁定应用程序的“行为”与旧的安全系统没有任何关系,而且这个安全系统是不需要的,事实上,对于锁定应用程序这一简单任务来说,甚至是推荐的。

因此,首先要确保始终分发应用程序的编译版本( accDE而不是accDB)。你的申请有多好取决于你自己。上面的屏幕截图是access 2003,但这里有一个2010应用程序的屏幕上限--在本例中,我甚至提供了一个自定义带。用户不能扰乱或查看应用程序的任何其他部分。

用户级安全是一种系统,允许某些用户启动特定的表单或报告,而其他用户则不启动此类表单或报告。安全系统不是为了锁定应用程序和防止用户修改表单、报告和代码。虽然安全系统也可以用来防止用户修改报告,但是如果您想让用户不乱动,那么您必须仍然使用已编译的accDE,并且仍然需要花时间隐藏访问接口。(因此,安全系统在这方面并没有为您节省任何时间和精力)。
发布于 2018-03-08 23:41:05
好吧--所以Access中的非常老的用户安全性早就被废弃了--这是有充分理由的。你绝对不想考虑向后倒退。
是否有办法在Access 2016数据库中实现数据库内的用户和安全性?-是的--应用程序设计人员就是这样做的。当然,首先必须知道用户是谁--要么直接调用Active名称,要么创建登录。
在那之后,它变得既有创意又复杂。为了限制他们看到的数据,必须在表记录中包含一个标识字段,以便通过查询进行管理。要限制可以使用的表单/报表对象,需要用户接口中有关可见性/功能的逻辑。
有什么神奇的子弹嵌入功能可以做到这一点吗?不..。这都是设计和代码工作。
发布于 2018-02-28 03:22:49
不确定你的用户对访问有多了解--有些人可以想办法绕过某些方法,如果他们对电脑有足够的能力的话。
无论如何,Access数据库通常会被拆分为前端(表单)和后端(表)。让你的前端指向你的后端桌子,并在你的前端隐藏他们。这一点很重要,因为前端的用户不能更改后端表的设计。
如果需要,还可以使用用户和权限表创建自己的“登录”表单。
https://stackoverflow.com/questions/49020526
复制相似问题