CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

数据库 | Oracle | DB2 | SQL Server | MySQL | 商业智能 | BI | DBA | Sybase| SQL Server 2008

您现在的位置: IT专家网 > 数据库子站 > 数据库技巧

采用“独占”的方式给数据库设置密码

作者: 李愈,  出处:赛迪网, 责任编辑: 李书琴, 
2008-02-18 09:57
  对于一些公司来说,职员的工资管理是一个不大不小的问题。有时,领导需要了解一段时间内每个职员的收入如何,以便掌握各项奖金的发放情况。为此,笔者设计了一个“工资管理”数据库,可以按时间进行查询,并根据所选的工资类别进行统计。为了防止其他人查看此数据库,笔者采用了“独占”方式给数据库设置了密码。

  大家都知道,数据库的安全性是很重要的,它直接影响到数据库的广泛应用。用户可以采用任意一种方法来保护数据库应用程序,也可以将几种方法结合起来使用。利用Access数据库自身提供的加密功能及其他保护方法是很容易的,本文中将不再赘述。在Access数据库中,嵌入了一种很强的数据库操作语言——VisualBasic语言,所以可以采用VisualBasic编写程序,来实现一些复杂的功能。

  对于一些公司来说,职员的工资管理是一个不大不小的问题。有时,领导需要了解一段时间内每个职员的收入如何,以便掌握各项奖金的发放情况。为此,笔者设计了一个“工资管理”数据库,可以按时间进行查询,并根据所选的工资类别进行统计。为了防止其他人查看此数据库,笔者采用了“独占”方式给数据库设置了密码。这种方法也有一定的局限性,如果用户恰巧提供了正确的数据库密码,该方法就不能控制用户对数据库进行操作。

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

    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

  更改密码后,应记住此密码,以备以后使用。

  设计好程序,并将有关代码隐藏起来(与隐藏“表”的方法相同),以防其他人修改或偷看。这里介绍的方法只是在程序中实现加密功能的一个小技巧,在其他数据库管理中,大家也可以采用此方法进行加密。

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅


    
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i