在Access数据库中实现密码治理的另1种方式
大家都知道,数据库的安全性是很重要的,它直接影响到数据库的广泛利用。用户可以采取任意1种方法来保护数据库利用程序,也能够将几种方法结合起来使用。利用Access数据库本身提供的加密功能及其他保护方法是很轻易的,我就未几说了。在Access数据库中,嵌进了1种很强的数据库操纵语言——VisualBasic语言,所以可以采取VisualBasic编写程序,来实现1些复杂的功能。下面将先容如何在VisualBasic程序中实现加密功能,以确保数据的安全性。
----对1些公司来讲,职员的工资治理是1个不大不小的题目。有时,领导需要了解1段时间内每个职员的收进如何,以便掌控各项奖金的发放情况。为此,我设计了1个“工资治理”数据库,可以按时间进行查询,并根据所选的工资种别进行统计。为了避免其他人查看此数据库,我采取“独占”方式给数据库设置了密码。这类方法也有1定的局限性,假设用户恰巧提供了正确的数据库密码,该方法就不能控制用户对数据库进行操纵。
----为了进1步避免职员查看工资的统计结果(即有些奖金其实不是公然的,除领导之外的其他人不应当知道工资数目),我又创建了1个密码表,设置好密码,记住并将其隐躲起来(先选中“密码表”,再单击“窗口”菜单中的“隐躲”命令,即可把此表隐躲起来)。然后,在“职工工资对话框”窗体中,添加“密码”文本框,并在“预览”及“打印”的事件进程中加进以下语句:
DoCmd.ApplyFilter , "密码 = Forms!
职工工资对话框!PassText"
If Not IsNull([密码]) Then
/*其他代码*/
Else
MsgBox "请输进正确的密码!"
PassText.SetFocus
End If
/*其他代码*/
这样,就实现了两重加密功能。即使用户能进进数据库,假设第2次没有提供正确的密码,他也不能预览和打印1定时间范围的统计结果。这就进1步限制了用户的非授权访问。
----为了进步数据库的安全性,每隔1段时间都应更改密码。为此,在“职工工资对话框”窗体中,我又添加了1个“更改密码”子窗体,在此窗体中加进以下代码,即可随时更改密
Private Sub肯定_Click()
On Error GoTo Err_肯定_Click
DoCmd.ApplyFilter , "密码
= Forms!更改密码!Text1"
If IsNull([密码]) Then
MsgBox ("密码不正确,
请再输进1次")
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
更改密码后,应记住此密码,以备以后使用。
----设计好程序,并将有关代码隐躲起来(与隐躲“表”的方法相同),以防其他人修改或偷看。这里先容的方法只是在程序中实现加密功能的1个小技能,在其他数据库治理中,也可采取此方法进行加密。或许存在更加简洁的方法,有待大家在编程进程中发掘出来并相互交换。
TAG:数据库,方法,密码,窗体,工资
评论加载中...
|