我的应用程序有1个登录表单,1个主仪表板表单,7/8子仪表板表单和许多其他非主要/仪表板表单。
我想实现某种系统,如果用户在x分钟内处于非活动状态,则会要求他们再次登录。
有没有办法让全局功能连续运行,如果需要登录则每60秒检查一次?显而易见的方法是使用on timer
事件。然而,由于有这么多表格,我不得不将呼叫添加到每个表格等。
有更简单的方法吗?
答案 0 :(得分:0)
我不认为有一种简单的方法可以做到这一点。
首先,我们必须定义" 用户在x分钟内处于非活动状态"真正意思。有一些选择:
GotFocus
和/或LostFocus
事件以验证至少所有x分钟的另一个表单是但是:使用相同形式合法工作x分钟而不需要改变焦点的用户将触发注销。)没有必要解决一系列新问题,没有好办法。
更好的解决方案是在后端数据库中设置默认空闲时间,假设它是一个活动数据库服务器而不仅仅是另一个Access数据库(甚至是表单所在的同一数据库)。
在后一种情况下,如果您没有专用的数据库服务器,我会挑战您重新考虑为什么您希望首先登录超时。或者,改写:
在仅限Access的数据库中,什么是登录?
安全?您无法阻止用户访问数据库中的所有数据,无论他们是否具有登录信息。请记住:Access数据库只是文件系统上的一个文件。用户使用该数据库实际上已经可以访问该文件中的所有内容。在Access中没有用户级别的安全性(至少不再是这样;并且那是最好的)。
您可以加密整个数据库(文件 - >信息),但您只能为每个数据库指定一个密码,而不是每个用户。同样:无法在Access中完成用户级安全性。
有关Access数据库安全性的更多信息,请参阅此答案:https://stackoverflow.com/a/530778/6216216