




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ACCESS的安全性设置应该说,ACCESS的安全性是很弱的,碰到高手一弄,精心作成的软作就完全毁掉了,当然,我是一只菜鸟,我研究ACCESS快十年了,全是用最蠢最笨的办法去解决这些问题,下面,我把我编写的系统的安全性进行一个说明,破解高手就不要来看了,是菜鸟的就来。一、 如果用ACCESS系统内置的保密办法进行安全管理,这是我刚学习ACCESS时使用的一种办法,破解办法很多人都会,这里我就不说怎么破解了。层次安全管理设置,那么多人、表、窗休进行设置,这是一项伟大的工程,而且效果并不乐观,经常出错把管理员搞得焦头烂额。然而,这一切并不是最重要的,最重要的是,用ACCESS写软件,最主要的就是多用户使用,如果把数据库放在软件中,会出现以下两个问题让人不得安宁。1、 当这个软件大小超过500M时,运时会出现错误或系统损坏,我相信很多人已经遇到这个问题了。2、 一旦软件密码被破解,所有的数据都完了,有些数据说不定是公司很重要的数据呢。所以,对于不会编程的人来讲,想用ACCESS做一些管理系统,但对安全性又不放心,用别的软件编写系统,编程的水平要求又极高,更做不到,怎么办呢?二、 因为我思考良久,又测试良久,终于,我决定用以下方法来配置ACCESS的安全性:1、 用SQL SERVER做为系统数据库并把它安装在公司的服务器上,当然,SQL SERVER的安全设置就比ACCESS高档得多。2、 在客户端电脑上用ODBC联上SQL SERVER的数据库。3、 在ACCESS中用链接的方式接上ODBC。这样做的好处在于:A、当别人试图从你的ACCESS中导出数据失,ACCESS中根本就没用数据,所以就无法得到系统数据,当然更无法破坏了。那么,大家一定会想到,人家不用导出,直接打开系统破坏不就得了?所以,下面的方法就是怎样让他打不开系统的主界面(即设计界面)。三、 思路是当系统使用者打开系统的时候,只能看到操作界面,看不到设计界面,这样目的就基本达到了。1、 设定如下,相信很多人都会,如下图。2、 当系统运行时,直接打开“PRIMARY”窗体,并且关闭了设计菜单,这时,只要把这个窗体做一个简单设定,就可以让大家只在这个窗体上进行操作了,如下图(注意,此窗此没有关闭按钮,只有退出系统按钮,要不进入操作界面,要不就退出系统,光标右键已经锁定,没有右键快捷菜单)。这就是主窗体:PRIMARY,下面讲解还会用到的。四、 设计快捷菜单被控制以后,有人就会使用SHIFT键打开设计界面了,方法是,按住SHIFT键,光标双击档案就直接打开系统设计界面如下图,所在数据直接受到威胁。这绝对是致命的,因此,下一步绝对是要控制住SHIFT键的使用才能放心,控制SHIFT键可以用程序控制(其实,大家只要按我的方法把下面程序复制过去就可以直接用了,不用会编程),方案如下:1、 如下图,增加一个叫“SYSTEMTOOLS”的模块,建立函数如右,其实就是关闭或开启SHIFT键和关闭或启动交谈窗对话方块。Option Compare DatabaseFunction CloseBypassKey() Dim p On Error Resume Next Set p = CurrentDb.CreateProperty _ (AllowBypassKey, DB_BOOLEAN, False) CurrentDb.Properties.Append p CurrentDb.Properties(AllowBypassKey) = FalseEnd FunctionFunction OpenBypassKey() Dim p On Error Resume Next Set p = CurrentDb.CreateProperty _ (AllowBypassKey, DB_BOOLEAN, True) CurrentDb.Properties.Append p CurrentDb.Properties(AllowBypassKey) = TrueEnd FunctionFunction UpdateAppIconPath() Dim currPath, srcPath, iconPath iconPath = CurrentDb.Properties(AppIcon) srcPath = Left(iconPath, InStrRev(iconPath, ) currPath = Left(CurrentDb.Name, InStrRev(CurrentDb.Name, ) If currPath srcPath Then srcPath = Mid(iconPath, InStrRev(iconPath, ) + 1) CurrentDb.Properties(AppIcon) = currPath & srcPath Application.RefreshTitleBar End IfEnd FunctionFunction SetAllowDesignChanges(b As Boolean) Dim obj As AccessObject For Each obj In Application.CurrentProject.AllForms MsgBox obj.Name, , Forms(obj.Name).Caption If obj.IsLoaded Then DoCmd.CLOSE acForm, obj.Name End If DoCmd.OpenForm obj.Name, acDesign Forms(obj.Name).AllowDesignChanges = b DoCmd.Save acForm, obj.Name DoCmd.CLOSE acForm, obj.Name NextEnd Function2、 接下来就是要做一个登陆的窗体,做法如下:窗体名称:“come into”A、 窗体宏名称:“come into”单击执行宏COME INTO函数程序如下,大家在做这个宏的时候,可能有些参数看不见,可以在下面的程序中查看一下:Option Compare Database- come_into_come_into-Function come_into_come_into()On Error GoTo come_into_come_into_Err With CodeContextObject If (.PSWORD = DLookup(psword, employee, mAid= & .MAID & ) Then 如果正確, 執行【come into2】巨集employee指公司员工主文件表名,”maid”指员工工号,”psword”指员工密码。 DoCmd.RunMacro come e into2, , .結束宏 End End If 否則, 顯示錯誤訊息 Beep MsgBox 員工編號或密碼錯誤, vbExclamation, 錯誤 .將登入錯誤之計數加 1 Forms!come into.Tag = Val(Forms!come into.Tag) + 1 If (Forms!come into.Tag = 3) Then .如果登入錯誤3次, 結束 Access DoCmd.RunCommand acCmdExit End If .將焦點移到員工編號欄 DoCmd.GoToControl mAid End Withcome_into_come_into_Exit: Exit Functioncome_into_come_into_Err: MsgBox Error$ Resume come_into_come_into_ExitEnd Function- come_into_come_into2-Function come_into_come_into2()主窗体:PRIMARY,如图2,在设计时,做了几个文本框,分别命名为:MAID/员工编号;MNAME/员工姓名;QUANXAN/权限;BUMEN/部门;IMG/照片; employee,上面已经说了,是指公司员工主文件,主文件里记录了所有员工的相关资料。这些字段文本框,是将来为了给系统操作设置权限用的,后面将会进很描述On Error GoTo come_into_come_into2_Err 將姓名存到主窗体PRIMARY的MAID欄中 Forms!Primary!MAID = Forms!come into!MAID 將員工編號存到主窗体PRIMARY的MNAME欄中 Forms!Primary!MNAME = DLookup(mname, employee, mAid= & Forms!come into!MAID & ) 將權限存到主窗体PRIMARY的QUANXAN欄中 Forms!Primary!QUANXAN = DLookup(QUANXAN, employee, mAid= & Forms!come into!MAID & ) 將部门存到主窗体PRIMARY的BUMEN欄中 Forms!Primary!BUMEN = DLookup(课组别, employee, mAid= & Forms!come into!MAID & ) 將照片存到主窗体PRIMARY的IMG欄中 Forms!Primary!IMG = DLookup(img, employee, mAid= & Forms!come into!MAID & ) 關閉COME INTO/即登陆窗体 DoCmd.CLOSE acForm, come intocome_into_come_into2_Exit: Exit Functioncome_into_come_into2_Err: MsgBox Error$ Resume come_into_come_into2_ExitEnd Function- come_into_exit-Function come_into_exit()On Error GoTo come_into_exit_Err 執行結束指令, 結束 Access DoCmd.RunCommand acCmdExitcome_into_exit_Exit: Exit Functioncome_into_exit_Err: MsgBox Error$ Resume come_into_exit_ExitEnd Function系统登陆后,界面如下图当前操作人员的工号及姓名照片注意,有关权限等栏位属性的看得见设置为否。3、 接下来,就是做一个修改密码的窗体,这个很简单,我这里只把思路说一下,详细就不说了。把employee员工主调出来做一个窗体,增加两个文本框栏位命名为输入旧密码、输入新密码,执行时核对一下原来的密码是否与新输入的密码相符,如不符则重无效,如相符则用新输入的新密码替换掉原来的密码就算成功了。4、 登陆后因为主窗体:PRIMARY上记录了个人的相关资料,基本的设计思路如下:A、 MAID/员工编号,今后的任何操作系统的记录,都会被如实的记录下来,方案如下自动填入的制单人和制单日期 这样设计操作本人就无法修改了。B、 QUANXAN/权限,可用数字,文字,必须要有规律才行,比如审批的权限,照下面写:If Forms!Primary!QUANXAN 6 ThenMsgBox 对不起,您的权限不够,无法审批单据Exit SubEnd If管理员利用这个权限,可以做一个为全体操作员设计权限的窗体,这个窗体可设为仅自己才有权限打开/OPEN,这样的话,就不用担心别人做权限设定了,如下:Private Sub Form_Open(Cancel As Integer)If Forms!Primary!QUANXAN 9 ThenMsgBox 您不具有操作此画面的权限,无法开启此画面DoCmd.CLOSEExit SubEnd IfEnd SubC、 BUMEN/部门,也可以用来作为权限设计的辅助,比如,当你不是什么部门时,你无法操作哪些界面或窗体,程序可参照上面。但部门往往可以用来自动填值,提高操作效率。5、 经办、审核、批准的资料操作权限如下图,程序按下面的逻辑去写就行了,A、 保存后资料不能删除、修改、新增Private Sub Form_Dirty(Cancel As Integer)If Me.经办保存 = 已保存 ThenMsgBox 本资料已经保存,如需修改,请先取消保存。Cancel = -1End IfEnd Sub子窗体如下(H_耗材请购单是主窗体)Private Sub Form_Dirty(Cancel As Integer)If Forms!H_耗材请购单.经办保存 = 已保存 ThenMsgBox 如要更改本资料的任何数据,请先去保存Cancel = -1Exit SubEnd IfEnd SubB、 没保存时资料不能进行审核,一旦审核了,资料不能去保存,去审核时必须是审核本人才能去,别的人不能。C、 没审核的资料不能批准,批准后资料才能结转到下一流程,并且不能去审核了。去审批只能是审批本人才能执行。P
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 一件难忘的事作文600字5篇
- 企业培训计划与成果评估标准模板
- 健康食品销售合作协议
- 水利工程土建合同条款范本
- 广告设计合同条款解析模板
- 投资合股协议合同范文模板
- 汽车行业品质承诺书(5篇)
- 资源环境保护保障系统责任承诺书(7篇)
- 企业资产清查与盘点管理标准化模板
- 质量控制流程检查表全项覆盖
- 2025年贵州省中考物理试题及答案
- (2025年标准)sm调教协议书
- 工会委员候选人选票(式样)
- 55790《表面工程学(第2版)》教学大纲
- 诊所消防安全培训
- 2025年护士资格证考试试题(附答案)
- 医院实验室生物安全管理体系文件
- 2025年北京市人力资源市场薪酬数据报告(二季度)
- 江西省赣抚吉十二校2026届高三上学期第一次联考英语试卷(含答案)
- 生活垃圾清运工安全教育培训手册
- 普通诊所污水、污物、粪便处理方案及周边环境情况说明
评论
0/150
提交评论