详解Access数据库管理密码方法

运维 数据库运维
众所周知,数据库安全是人们一直以来关注的热点,当然Access数据库也不例外,在Access数据库中数据库安全就是数据库最重要的一个环节,那么Access数据库是怎样来管理密码的呢?

导读:Access数据库中,嵌入了一种很强的数据库操作语言——VisualBasic语言,所以可以采用VisualBasic编写程序,来实现一些复杂的功能。下面将介绍如何在VisualBasic程序中实现加密功能,以确保数据的安全性,从中我们也能够看出Access数据库对密码的管理。
  对于一些公司来说,职员的工资管理是一个不大不小的问题。有时,领导需要了解一段时间内每个职员的收入如何,以便掌握各项奖金的发放情况。为此,我设计了一个“工资管理”数据库,可以按时间进行查询,并根据所选的工资类别进行统计。为了防止其他人查看此数据库,我采用“独占”方式给数据库设置了密码。这种方法也有一定的局限性,如果用户恰巧提供了正确的数据库密码,该方法就不能控制用户对数据库进行操作。

  为了进一步防止职员查看工资的统计结果(即有些奖金并不是公开的,除领导以外的其他人不应该知道工资数目),我又创建了一个密码表,设置好密码,记住并将其隐藏起来(先选中“密码表”,再单击“窗口”菜单中的“隐藏”命令,即可把此表隐藏起来)。然后,在“职工工资对话框”窗体中,添加“密码”文本框,并在“预览”及“打印”的事件过程中加入下列语句:

DoCmd.ApplyFilter , "密码 = Forms!
  职工工资对话框!PassText"
  If Not IsNull([密码]) Then
  /*其他代码*/
  Else
  MsgBox "请输入正确的密码!"
  PassText.SetFocus
  End If
  /*其他代码*/

  这样,就实现了双重加密功能。即使用户能进入数据库,如果第二次没有提供正确的密码,他也不能预览和打印一定时间范围的统计结果。这就进一步限制了用户的非授权访问。
  为了提高数据库的安全性,每隔一段时间都应更改密码。为此,在“职工工资对话框”窗体中,我又添加了一个“更改密码”子窗体,在此窗体中加入下列代码,即可随时更改密

Private Sub确定_Click()
  On Error GoTo Err_确定_Click
  DoCmd.ApplyFilter , "密码
  = Forms!更改密码!Text1"
  If IsNull([密码]) Then
  MsgBox ("密码不正确,
  请再输入一次")
  Text1.SetFocus
  GoTo Exit_确定_Click:

  End If

  If Text3.Value < > Text2.Value Then

  Text3.SetFocus

  MsgBox ("请输入正确的确认密码")

  Else:
  密码 = Text3.Value
  DoCmd.Close
  End If
  Exit_确定_Click:
  Exit Sub
  Err_确定_Click:
  MsgBox Err.Description
  Resume Exit_确定_Click
  End Sub
  更改密码后,应记住此密码,以备以后使用。
  设计好程序,并将有关代码隐藏起来(与隐藏“表”的方法相同),以防其他人修改或偷看。这里介绍的方法只是在程序中实现加密功能的一个小技巧,在其他数据库管理中,也可采用此方法进行加密。也许存在更为简洁的方法,有待大家在编程过程中发掘出来并互相交流。

关于Access数据库中的安全问题可能已经有好多文章都介绍过了,上文中的方法也是切实有效的,能够很好的保证Access数据库的安全,希望对大家能够有所帮助。

【编辑推荐】

  1. Access数据库安全之反下载
  2. Access数据库安全的几个问题
  3. 将mysql数据导入access数据库
  4. 如何使用Access数据库压缩文件
责任编辑:迎迎 来源: pop222.cn
相关推荐

2010-09-13 09:03:49

Access数据库

2011-04-08 09:07:25

Access数据库Oracle库

2011-03-07 17:35:09

JavaACCESS数据库

2011-08-24 13:49:45

Access数据库转化

2010-05-19 13:37:39

MySQL数据库密码

2009-06-10 22:11:28

javascript连

2010-11-08 16:04:06

SQL SERVER连

2011-03-22 16:31:35

Access数据库

2010-09-30 08:27:48

2011-08-25 16:50:20

SQL ServerAccessASP

2011-04-08 10:43:08

mysql数据access数据库

2011-04-01 12:58:46

ASPACCESS数据库

2024-04-18 09:56:16

2009-11-06 17:39:41

2009-12-21 15:07:41

ADO Access数

2011-04-13 14:38:17

2011-03-23 17:10:41

ACCESSSQL数据库

2009-07-31 17:01:21

C#存取Access数

2011-03-10 14:03:00

Access数据库Excel

2011-08-25 17:49:14

MySQLmysqlcheck
点赞
收藏

51CTO技术栈公众号