📄 90585.htm
字号:
<html xmlns="http://www.w3.org/TR/xhtml1/strict"> <head> <title>天极网</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"></meta> <meta http-equiv="Pragma" content="no-cache"></meta> <meta http-equiv="expires" content="Mon,12 May 1998 00:36:05 GMT"></meta> <link rel="stylesheet" href="/xslimages/css/cpcw.css"></link> </head> <style>.nava { font-size: 9pt}.font1{font-size: 10.5pt}</style> <body bgcolor="#FFFFFF" topmargin="2"><table width="760" border="0" cellspacing="0" cellpadding="0" align="center"><tr><td width="20%" rowspan="3" valign="top" align="center"><table width="95%" border="1" cellspacing="0" cellpadding="0" height="60" bordercolorlight="#CCCCCC" bordercolordark="#FFFFFF"><tr valign="middle" align="center"><td><div align="center"><span class="nava">天极硬件,新闻及时<br>资料详尽,敬请关注<br><a href="/33554432/35651584/yingjian.htm">www.myhard.com</a></span></div></td></tr></table></td><td width="57%" valign="bottom" rowspan="3" align="center"><div align="center"><script language="JavaScript" src="http://ad.cpcw.com/js/school.js"></script></div></td><td width="20%" valign="top" rowspan="3" align="center"><table width="95%" border="1" cellspacing="0" cellpadding="0" height="60" bordercolorlight="#CCCCCC" bordercolordark="#FFFFFF"><tr valign="middle" align="center"><td><div align="center"><span class="nava">好又多电子商务<br>让您一点动心<br><a href="http://www.hoyodo.com">www.hoyodo.com</a></span></div></td></tr></table></td></tr><tr></tr><tr></tr></table><table width="760" border="0" cellspacing="0" cellpadding="0" height="70" align="center"><tr><td width="145" valign="bottom" rowspan="3"><img src="/xslimages/content/logo.gif" width="140" height="60"></img></td><td colspan="3" width="100%" height="33" align="center"><a href="/" target="_blank">首页</a>| <a href="/33554432/36700160/news.htm" target="_blank">新闻中心</a>| <a href="/33554432/50331648/business.htm" target="_blank">企业中心</a>| <a href="/33554432/41943040/caijing.htm" target="_blank">财经中心</a>| <a href="/33554432/39845888/fashion.htm" target="_blank">时尚中心</a>| <a href="/33554432/35651584/yingjian.htm" target="_blank">硬件中心</a>| <a href="/33554432/34603008/school.htm" target="_blank">学习中心</a>| <a href="/33554432/37748736/game.htm" target="_blank">游戏中心</a>| <a href="/33554432/38797312/ziyuan.htm" target="_blank">资源中心</a>| <a href="http://www.hoyodo.com/" target="_blank">社区</a>| <a href="http://training.yesky.com/" target="_blank">网校</a></td></tr><tr><td colspan="3" width="78%" height="20" align="right"><b>中心栏目:<a href="http://www.mydown.com" target="_blank"><font color="#FF0000"><u>红辣椒软件下载</u></font></a></b><a href="http://soft.yesky.com" target="_blank"> 软件之窗 </a><a href="http://desktop.yesky.com" target="_blank">天极桌面网 </a><a href="http://art.yesky.com" target="_blank">美工教室 </a><a href="http://itdreamer.yesky.com" target="_blank">程序方舟 </a><a href="http://homepage.yesky.com" target="_blank">网页陶吧 </a><a href="http://safe.yesky.com" target="_blank">安全之路</a><a href="http://soft.yesky.com" target="_blank"></a></td></tr></table><table align="center" border="0" cellpadding="0" cellspacing="0" width="760"><tbody><tr bgcolor="#333333"><td colspan="2" height="1"></td></tr><tr><td bgcolor="#ff9900" height="16" valign="bottom" width="72%"><font color="#000000"><b><font color="#ffffff">学 习 中 心</font></b></font></td><td bgcolor="#6699cc" height="16" width="28%"><div align="center"><font face="Arial, Helvetica, sans-serif"><b><font color="#ffffff">N E T S C H O O L</font></b></font></div></td></tr><tr bgcolor="#333333"><td colspan="2" height="1"></td></tr></tbody></table><table align="center" border="0" cellpadding="0" cellspacing="0" width="760" bgcolor="#eeeeee"><td colspan="2" height="28"><div align="center"><a href="/33554432/34603008/34635776/34636800/34636832/schoolinverse1.htm" target="_blank"><font color="#000000">HTML</font></a><font color="#000000"> _</font><a href="/33554432/34603008/34635776/34636800/34636864/schoolinverse1.htm" target="_blank"><font color="#000000">JavaScript</font></a><font color="#000000"> _</font><a href="/33554432/34603008/34635776/34636800/34636928/schoolinverse1.htm" target="_blank"><font color="#000000">CSS</font></a><font color="#000000"> _ <a href="/33554432/34603008/34635776/34637824/34637952/schoolinverse1.htm" target="_blank"><font color="#000000"> PHP </font></a><font color="#000000"> _ </font></font><a href="/33554432/34603008/34635776/34637824/34637888/schoolinverse1.htm" target="_blank"><font color="#000000">ASP</font></a><font color="#000000"> _</font><a href="http://www.yesky.com/33554432/34603008/34635776/34637824/34637920/schoolinverse1.htm" target="_blank"><font color="#000000">Perl</font></a><font color="#000000"> _</font><a href="/33554432/34603008/34635776/34638848/34638880/schoolinverse1.htm" target="_blank"><font color="#000000">Dreamweaver</font></a><font color="#000000"> _</font><a href="/33554432/34603008/34635776/34639872/34639904/schoolinverse1.htm" target="_blank"><font color="#000000">XML</font></a><font color="#000000"> _</font><a href="http://www.yesky.com/33554432/34603008/34734080/schoolinverse2.htm" target="_blank"><font color="#000000">病毒</font></a><font color="#000000"> _</font><a href="http://www.yesky.com/67108864/68157440/68419584/inverse2.htm" target="_blank"><font color="#000000">程序开发</font></a><font color="#000000"> _</font><a href="http://www.yesky.com/33554432/34603008/34799616/34800640/schoolinverse1.htm" target="_blank"><font color="#000000">Email</font></a><font color="#000000"> _</font><a href="http://www.yesky.com/33554432/34603008/34897920/34898944/schoolinverse1.htm" target="_blank"><font color="#000000">Windows 9x</font></a><font color="#000000"> _</font><a href="/33554432/34603008/34897920/34900992/schoolinverse1.htm" target="_blank"><font color="#000000">Linux</font></a><font color="#000000"> _</font><a href="/33554432/34603008/34963456/34966528/schoolinverse1.htm" target="_blank"><font color="#000000">WPS</font></a><font color="#000000"> _</font><a href="http://www.yesky.com/33554432/34603008/34963456/34964480/schoolinverse1.htm" target="_blank"><font color="#000000">Word</font></a></div></td></table><table width="760" border="0" cellspacing="0" cellpadding="0" height="30" align="center"><tr><td align="left" valign="bottom"><span class="nava"><span class="nava"><a href="/index.htm">首页</a>→ <a href="/33554432/34603008/school.htm">学习中心</a>→ <a href="/33554432/34603008/34668544/schoolinverse2-pro.htm">程序方舟</a>→ <a href="/33554432/34603008/34668544/34672640/schoolinverse2.htm">技巧经验</a>→ <a href="/33554432/34603008/34668544/34672640/34672672/schoolinverse1.htm">DELPHI技巧</a>→ </span></span></td><td width="2%"></td></tr></table><table width="760" border="0" cellspacing="0" cellpadding="0" align="center"><tr><td colspan="3" valign="top" width="75%"><table width="98%" border="0" cellspacing="1" cellpadding="1" bgcolor="#000000"><tr bgcolor="#FFFFFF"><td width="100%" colspan="4" align="left"><table width="95%" align="center"><tr><td class="font1"><p align="center"><br><font size="3">建 立 应 用 软 件 注 册 安 全 机 制 </font><br><span class="nava"><font color="#CC9933">2000-07-04· -·-</font></span></p><p><fontcolor="#ffffff">----</font>软件的安全性是个永恒的话题,一直困扰着人们,程序员们常常因此熬夜。Novell公司的网络操作系统NetWare以其完善可靠的安全管理机制著称,为实现用户登录的安全性和防止非法入侵者闯入,系统提供了几种有效的限制措施和检测功能。本文讨论如何建立完善的软件注册安全机制,有效地管理用户登录,为应用软件提供可靠的保护,并在Delphi3.0下实现。<p><fontcolor="#ffffff">----</font>Delphi作为一个优秀的编程工具,功能极其强大,令开发周期大大缩短,生成的代码运行速度快,使得Windows软件设计成为一种乐趣。基本思路是:建立Paradox格式的用户帐户表Users.DB,并加密保护,由管理员维护。预先在此表中登记并有注册权限的用户,可持本人有效口令登录进入系统。<p><fontcolor="#ffffff">----</font>实现步骤如下:<p><fontcolor="#ffffff">----</font>1.在应用软件主目录(假设为C:\Register)下创建两个子目录,分别命名为Login和Data。<p><fontcolor="#ffffff">----</font>2.从Delphi的Tools菜单中启动DatabaseDesktop,并选择Tools/AliasManager…创建一个新别名。方法是:在AliasManager对话框中点New,给出新别名UserInfo,并指向C:\Register\Data目录,按KeepNew、OK等按钮保存新别名。<p><fontcolor="#ffffff">----</font>3.利用DatabaseDesktop创建Paradox5.0forWindows数据表Users.DB,结构见表1。事实上,对于商业软件还需要更多的域。<pre>表1表Users.DB的结构域名 类型 大小 关键字 说明Name A 16 * 用户名Password A 16 * 注册口令Fullname A 32 用户全名Group I 用户组号Enabled L 注册允许</pre><p><fontcolor="#ffffff">----</font>4.设定Name,Group和Enabled为非空域(RequiredField),Group的最小值为0,最大值为3,默认值为3,Enabled的默认值为True。用户组0为系统管理员,可进行几乎任何操作;用户组1为软件操作人员,可进行除用户帐户管理以外的操作,包括建立和删除数据;用户组2为普通用户,可使用系统资源,无修改权限,而用户组3仅可浏览系统有限信息。<p><fontcolor="#ffffff">----</font>5.用口令"UserPassword"保护Users.DB表,存于Data目录下。利用DatabaseDesktop向表中输入若干样本用户(见表2),然后关闭DatabaseDesktop。<pre>表2表Users.DB的样本用户Name Password Fullname Group EnabledSupervisor AAAAAA SuperUser 0 TrueDirector BBBBBB DirectorUser 1 TrueGuest 3 TrueUser1 CCCCCC GeneralUser1 1 FalseUser1 DDDDDD GeneralUser1 2 TrueUser2 EEEEEE GeneralUser2 3 True</pre><p><fontcolor="#ffffff">----</font>表2显示,允许同一用户以不同身份(用户组)登录进入系统,享有不同的权限。如用户User1,以不同密码登记,分属用户组1和2。<p><fontcolor="#ffffff">----</font>6.返回DelphiIDE,新建项目Register.dpr并存入C:\Register目录,主窗体单元命名为Main.pas。用户注册成功后,方能启动主窗体进入系统。本系统仅显示用户信息及登录的日期和时间以表示注册成功(见图5),并不做其它任何事情,这里便是读者应用系统的接口。为此,在主窗体上放入一个TGroupBox组件,TLabel和TEdit组件各五个。将所有TEdit的Text属性清空,ReadOnly属性值设为True,窗体和组件其余属性按表3设置。<p><fontcolor="#ffffff">----</font>7.创建主窗体的OnActivate事件处理程序,登录成功并激活主窗体时执行,显示用户信息、登录日期和时间。过程如下:<pre>procedureTMainForm.FormActivate(Sender:TObject);beginifTime<=StrToTime('12:00:00')thenCaption:='上午好,您已成功登录!'elseCaption:='下午好,您已成功登录!';//显示登录用户信息、登录日期和时间NameEdit.Text:=LoginUser.UserName;FullNameEdit.Text:=LoginUser.UserFullName;GroupEdit.Text:=IntToStr(LoginUser.UserGroup);DisplayDateEdit.Text:=DateToStr(Date);DisplayTimeEdit.Text:=TimeToStr(Time);end;表3主窗体中组件属性设置组件 属性 设置Form1 Caption Name MainForm Position poScreenCenterGroupBox1 Caption 用户信息Label1 Caption 用户名称:Label2 Caption 用户全名:Label3 Caption 用户组号:Label4 Caption 登录日期:Label5 Caption 登录时间:Edit1 Name NameEditEdit2 Name FullnameEditEdit3 Name GroupEditEdit4 Name DisplayDateEditEdit5 Name DisplayTimeEdit</pre><p><fontcolor="#ffffff">----</font>8.数据模板。选择File/NewDataModule建立数据模板LogDataModule,放入一个Ttable组件,如图1。属性按表4设置,命名其单元为MD.pas,存入Login目录。<pre>表4数据模板中组件属性设置组件 属性 设置Table1 DatabaseName UserInfo Name UsersTable TableName Users.DB</pre><p><fontcolor="#ffffff">----</font>9.创建注册窗体。选择File/NewForm创建一个新窗体,并加入组件TLabel、TEdit和TbitBtn各两个。窗体和组件属性按表5设置,命名其单元为Login.pas,存于Login目录。<pre>表5注册窗体中组件属性设置组件 属性 设置Form2 ActiveControl UserNameEdit Caption 请注册 Name LoginDialogForm Position poScreenCenterLabel1 Caption 用户:Label2 Caption 密码:Edit1 Name LoginNameEdit Text Edit2 Name PasswordEdit PasswordChar * Text BitBtn1 Caption 注册(&L) Enabled False Kind bkOK Name LoginBitBtnBitBtn2 Caption 取消(&C) Enabled True Kind bkCancel Name CancelBitBtn</pre><p><fontcolor="#ffffff">----</font>10.选择File/New命令,从NewItems的New页中选择Unit项建一个无窗体单元Addition.pas存入Login目录,在其interface段输入下列语句:<pre>usesClasses,Forms,Sysutils;typeTApplicationUser=class(TComponent)privateFUserName:string;FFullName:string;FUserGroup:Integer;public
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -