⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 90585.htm

📁 在天极网上发布的各类delphi原码及技巧文档
💻 HTM
📖 第 1 页 / 共 2 页
字号:
propertyUserName:stringreadFUserNamewriteFUserName;propertyUserFullName:stringreadFFullNamewriteFFullName;propertyUserGroup:IntegerreadFUserGroupwriteFUserGroup;end;varLoginUser:TApplicationUser;</pre><p><fontcolor="#ffffff">----</font>在implementation段加入下列语句:<pre>initializationLoginUser:=TapplicationUser.Create(Application);</pre><p><fontcolor="#ffffff">----</font>11.创建注册窗体(LoginDialogForm)的OnCreate事件处理程序。在private段中声明CountDown为Integer变量,作为计数器,并将下述语句插入begin与end之间:<pre>CountDown:=3;//允许尝试注册3次</pre><p><fontcolor="#ffffff">----</font>12.建立用户名输入框(LoginNameEdit)的OnChange事件处理程序,使窗体LoginDialogForm创建时注册按钮为灰色,用户输入登录名后才可用。不难实现,源代码略。<p><fontcolor="#ffffff">----</font>13.创建注册过程。双击注册按钮(LoginBitBtn),在begin和end之间输入其OnClick事件处理程序代码:<pre>ModalResult:=mrNone;trySession.AddPassword('UserPassword');LogDataModule.UsersTable.Open;//注册信息处理ifnotLogDataModule.UsersTable.FindKey([LoginNameEdit.Text,PasswordEdit.Text])thenbegin//处理注册次数dec(CountDown);ifCountDown<=0thenModalResult:=mrCancelelsebeginMessageBeep($FFFF);Application.MessageBox('请您重试一次!','无效注册信息',mb_iconstop+mb_OK);//重设输入焦点LoginNameEdit.SetFocus;end;exit;end;//检查注册允许值ifnotLogDataModule.UsersTable.FieldByName('Enabled').AsBooleanthenbeginMessageBeep($FFFF);Application.MessageBox('抱歉,您不能进入系统!','使用权限终止',mb_iconexclamation+mb_OK);ModalResult:=mrCancel;exit;end;//获取注册用户信息withLogDataModuledobeginLoginUser.UserName:=UsersTable.FieldByName('Name').AsString;LoginUser.UserFullName:=UsersTable.FieldByName('Fullname').AsString;LoginUser.UserGroup:=UsersTable.FieldByName('Group').AsInteger;End;ModalResult:=mrOK;//关闭表,清除密码finallyLogDataModule.UsersTable.Close;Session.RemovePassword('UserPassword');end;</pre><p><fontcolor="#ffffff">----</font>14.在Main.pas单元的uses中加入"Addition",在Login.pas单元的implementation段增加uses语句:<pre>usesMD,Addition;</pre><p><fontcolor="#ffffff">----</font>15.打开过程文件Register.dpr,在uses语句中加入"Controls",将"Application.run;"改为下列语句,只有注册成功时才启动系统,同时释放注册窗体,以确保安全和减少内存占用。<pre>ifLoginDialogForm.ShowModal=mrOKthenbeginLoginDialogForm.Free;Application.Run;end;</pre><p><fontcolor="#ffffff">----</font>16.编译、运行。注册窗口见图2,输入用户名和密码后点"注册"按钮。<p><fontcolor="#ffffff">----</font>如果注册信息有误,系统出现提示框,允许重新注册,见图3。若三次尝试均不成功,注册窗口将保护性关闭。<p><fontcolor="#ffffff">----</font>访问权已被管理员终止的用户(Enabled的值为False),例如用户User1以口令CCCCCC注册至用户组1,系统拒绝进入,见图4。<p><fontcolor="#ffffff">----</font>注册成功后将启动系统主程序。例如用户Supervisor以口令AAAAAA注册,见图5。<p><fontcolor="#ffffff">----</font>上述方案具有以下特点:<p><fontcolor="#ffffff">----</font>1.Supervisor用户具有至高无上的权利,由系统创建,不能删除,仅Password和Fullname字段的值允许自行修改。主要负责系统维护和用户帐户管理等工作,是系统的永久性特权用户。<p><fontcolor="#ffffff">----</font>2.确保用户帐户表Users.DB的安全致关重要,本方案采用了较为可靠的关键性技术,就是注册过程(见步骤13)中"try…finally…end"结构的应用。仅当用户按下"注册"按钮时,注册模块转送表Users.DB的密码并将其打开,以处理注册信息。而无论成功与否,在finally部分都能及时关闭表Users.DB,并立即清除内存中的密码。<p><fontcolor="#ffffff">----</font>3.用户帐户管理模块设在主程序中,完成表Users.DB的维护功能,包括建立用户帐户和用户组,增、删用户,分配访问权限等。只有Supervisor或其授权用户才可进入。<p><fontcolor="#ffffff">----</font>4.组帐户管理:用户按不同级别分组,再按组进行权限分配,以简化管理。如系统可根据登录用户所属的用户组,十分方便地屏蔽相应菜单项,以达到限制用户使用权限的目的。对用户群大的系统,此项技术的优越性尤为显著。<p><fontcolor="#ffffff">----</font>5.默认帐户限制:建立用户帐户时,系统默认其Group=3,仅具备浏览有限信息之权限,不致因管理员一时疏忽使新建用户越权使用,危及系统安全。<p><fontcolor="#ffffff">----</font>6.单独帐户限制:用户注册时,必须提供完整的个人有效信息才能进入系统。<p><fontcolor="#ffffff">----</font>7.注册允许限制:管理员可随时取消或恢复单个用户、用户组甚至系统所有用户(Supervisor除外)的注册权限,只需设置注册允许字段Enabled的值为False或True。<p><fontcolor="#ffffff">----</font>8.非法入侵限制:三次注册尝试不成功便保护性关闭注册窗口,以防非法非法入侵者无限制尝试。<p><fontcolor="#ffffff">----</font>本文介绍了应用软件注册安全性问题的综合解决方案,容易实现,便于扩充--如增加注册时间限制和记帐收费功能等,可建立较完善的注册安全机制,适合大型商用软件开发。</td></tr></table><br><img src="/xslimages/content/buttom.gif" align="absmiddle"></img>        相关内容        <br><ul><a href="/33554432/34603008/34668544/90592.htm">怎样在TDataset中汉英混用 <br><br></a><a href="/33554432/34603008/34668544/90591.htm">在DELPHI程序中动态设置ODBC数据源 <br><br></a><a href="/33554432/34603008/34668544/90590.htm">用Delphi实现网络驱动器的映射和断开 <br><br></a><a href="/33554432/34603008/34668544/90589.htm">用Delphi实现禁止用户关闭Window9X <br><br></a><a href="/33554432/34603008/34668544/90588.htm">软件中复活节彩蛋的实现 <br><br></a><a href="/33554432/34603008/34668544/90587.htm">采用多线程进行数据采集 <br><br></a><a href="/33554432/34603008/34668544/90586.htm">Delphi中的INI文件编程 <br><br></a><a href="/33554432/34603008/34668544/90584.htm">无标题栏窗口程序设计中鼠标拖动技巧 <br><br></a><a href="/33554432/34603008/34668544/90583.htm">控制Delphi的窗口显示位置<br><br></a></ul><br><font color="#000000"><font color="#1C82C5"><img src="/xslimages/content/buttom.gif" align="absmiddle"></img></font>            相关链接          </font><br><ul><a href="http://bbs.cpcw.com/forum/vb/">到程序方舟论坛,论坛主持人为你答疑!<br><br></a></ul><a href=""><font color="#FF9900"><font color="#CC0000"></font></font></a><font color="#000000"><font color="#1C82C5"><img src="/xslimages/content/buttom.gif" align="absmiddle"></img></font>               更多的                </font><br><table width="70%"><tr><td width="30%" valign="top" align="left"><ul><a href="/67108864/68157440/68419584/68423680/inverse1.htm">DELPHI</a><br></ul></td><td width="30%" valign="top" align="left"></td></tr></table></td></tr></table><table width="98%" border="0" cellspacing="0"><tr><td width="85%" height="19" align="center" bgcolor="#FDF0C4"><a href="mailto:ph@cpcw.com">      本文版权归作者和天极网共同所有,如有任何版权问题,请与我们联系。        </a></td><td width="15%" bgcolor="#FFCC66" height="19">          <a href="/index.htm">            回首页          </a>        </td></tr></table><br></td><td colspan="2" valign="top" width="25%" bgcolor="#eeeeee"><table width="97%" align="center"><tr><td bgcolor="#ff9900" width="182" height="15"></td></tr></table><table width="97%" border="0" cellpadding="3" align="center"><tr><td valign="top" height="23" border="1" bgcolor="#eeeeee" cellspacing="0" bordercolor="#ff9900"><div align="center">             火热链接          </div></td></tr><tr bgcolor="#F5F5F5"><td width="27%" height="20" align="left"><div align="left"><a href="/33554432/36700160/116464.htm">淄博广电被罚 吉通陪绑……</a><br><a href="/33554432/36700160/116429.htm">图文:首信公司与ECnet建全球B2B采购网</a><br><a href="/33554432/36700160/116416.htm">“反色情”触及儿童网站</a><br><a href="/33554432/36700160/116409.htm">WAP,未来的未来</a><br><a href="/33554432/36700160/116406.htm">日本:5年后IT业超美国</a><br><a href="/33554432/36700160/116394.htm">美国在线和时代华纳:引判例对付审查</a><br><a href="/33554432/36700160/116367.htm">WAP收费标准再次推迟出台</a><br><a href="/33554432/36700160/116348.htm">网络经济任重道远</a><br><a href="/33554432/36700160/116319.htm">苹果:我们并未对任何人施压</a><br><a href="/33554432/36700160/116322.htm">法官的离职不会影响微软案</a><br></div></td></tr></table><br><table width="97%" border="0" cellpadding="3" align="center"><tr bgcolor="#ff9900"><td valign="top" height="20"><div align="center">                        天极搜索          </div></td></tr><tr bgcolor="#F5F5F5"><form action="http://search.yesky.com/servlet/search" method="post" name="search" onsubmit="form_onsubmit(); return ValidationPassed;"><td width="27%" height="20" align="center"><div><script language="javascript">          function form_onsubmit() {            ValidationPassed = true ;            if (document.search.keyword.value=="") {               alert ("请输入搜索关键字!");               ValidationPassed=false;             }               return ValidationPassed;           }       </script><input name="keyword" id="keyword" class="nava" size="12"></input><input type="hidden" name="classify" value="keyword"></input><input type="hidden" name="no" value="34603008"></input><input onClick="form_onsubmit(this.form);" style="HEIGHT:22px;WIDTH:40px" type="submit" value="搜索" name="submit2"></input></div></td></form></tr></table><div align="left"><font color="#000000"><br><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr align="center"><td><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td width="10" height="2"><img src="/xslimages/school/pathboy-ruanjian.gif" width="32" height="32"></img></td><td width="186" height="2" valign="top"><table width="100%" border="1" cellspacing="0" cellpadding="0" bordercolordark="#FFFFFF" bordercolorlight="#000000" bgcolor="#6898D0"><tr align="center"><td height="26"><font color="#FFFFFF">                                          MyDown下载                                        </font><font class="nava" color="#FFFFFF"></font></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="0" cellspacing="1" width="100%" align="center"><tbody><tr align="left"><td bgcolor="#ffffff"><script type="text/javascript" language="javascript" src="http://www.mydown.com/mydown.js"></script><br></td></tr></tbody></table><table width="100%" align="center"><tr><td align="center"><tr><td align="center"><a href="http://www.hoyodo.com"><img border="0" src="http://www.hoyodo.com/home/images/banner/botton.gif" width="120" height="60"></img></a><br><br><a href="http://e.yesky.com"><img border="0" src="http://e.yesky.com/images/logo_e2.gif" width="120" height="60" alt="天极E时代"></img></a></td></tr></td></tr></table></font></div><br></td></tr></table><table width="97%" border="0" cellspacing="0" cellpadding="0" align="center"><tr><td><div align="center"><a href="/hdong/gao.htm" target="_blank">欢迎投稿</a>|            <a href="/bill/index.html" target="_blank">市场联系</a>|            <a href="/serve/dnbjs.htm" target="_blank">关于我们</a>|            <a href="/maillist/index.html" target="_blank">邮件列表</a>|            <a href="/hdong/zaopin.html" target="_blank">加入我们</a>|            <a href="/hdong/xinsi.html" target="_blank">隐私条款</a></div></td></tr></table><hr height="1" size="1" width="760"></hr><td width="57%" valign="top" rowspan="1" align="center"><div align="center"><script language="JavaScript" src="http://ad.cpcw.com/js/school.js"></script></div></td><table width="97%" border="0" cellspacing="0" cellpadding="0" align="center"><tr></tr><tr></tr><tr></tr></table><table width="97%" border="0" cellspacing="0" cellpadding="0" align="center"><tr><td><div align="center"><span class="nava"><font color="#000000" face="Arial, Helvetica, sans-serif">              Copyright (C) 1999 Yesky.com, All Rights Reserved            </font><font color="#000000"><br>              版权所有                <font face="Arial, Helvetica, sans-serif">              Yesky              </font></font></span></div></td></tr></table><script>document.write("<a href=http://best.netease.com/cgi-bin/view/viewbasic.cgi?program target=_blank><img style=visibility:hidden src=http://best.netease.com/cgi-bin/log.cgi?user=program&refer="+escape(document.referrer)+"&cur="+escape(document.URL)+" border=0 alt=网易中文排行榜 ></a>");</script><script> document.write("<a href=http://best.netease.com/cgi-bin/view/viewbasic.cgi?rkai target=_blank> <img style=visibility:hidden src=http://best.netease.com/cgi-bin/log.cgi?user=rkai&refer="+escape(document.referrer)+"&cur="+escape(document.URL)+" border=0 alt=网易中文排行榜 width=15 height=15></a>");</script><A HREF="http://best.nease.net/cgi-bin/view/viewbasic.cgi?cpcw" TARGET="_blank"><IMG SRC="http://best.nease.net/cgi-bin/log.cgi?user=cpcw" style="visibility:hidden"/></A><br><iframe frameborder="0" scrolling="no" src="http://count.yesky.com/servlet/count?articleno=90585" height="0" width="100%"></iframe></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -