您的位置:学习中国 推荐教程 Delphi 正文
原作者:酷酷 添加时间:2007-07-04 原文发表:2007-07-04 人气:25 来源:互联网

本文章共4422字,分3页,当前第1页,快速翻页:
 
-----------------------------------------------------------------------------------------------------------------------------------------------

本文提示:《建立应用软件注册安全机制》是本站编辑们为广大网友精选的实用文章,本文阐述了关于文章的相关理论,相对来说专业性强,但是本文只是针对于某个问题提出的见解与论述,未必能辐射到相关问题的方方面面,所以本文处理问题的方法仅仅为您提供一些参考。更多问题请查阅学习中国网其他栏目哦.

-----------------------------------------------------------------------------------------------------------------------------------------------

软件的安全性是个永恒的话题,一直困扰着人们,程序员们常常因此熬夜。Novell 公司的网络操作系统NetWare 以其完善可靠的安全管理机制著称,为实现用户登录的安全性和防止非法入侵者闯入,系统提供了几种有效的限制措施和检测功能。本文讨论如何建立完善的软件注册安全机制,有效地管理用户登录,为应用软件提供可靠的保护,并在Delphi下实现。

  Delphi 作为一个优秀的编程工具,功能极其强大,令开发周期大大缩短,生成的代码运行速度快,使得Windows 软件设计成为一种乐趣。基本思路是:建立Paradox 格式的用户帐户表Users.DB,并加密保护,由管理员维护。预先在此表中登记并有注册权限的用户,可持本人有效口令登录进入系统。

  实现步骤如下:

  1 .在应用软件主目录(假设为C:\Register)下创建两个子目录,分别命名为Login 和Data。

  2 .从Delphi 的Tools 菜单中启动Database Desktop,并选择Tools/AliasManager …创建一个新别名。方法是:在Alias Manager 对话框中点New,给出新别名UserInfo,并指向C:\Register\Data 目录,按Keep New、OK 等按钮保存新别名。

  3 .利用Database Desktop 创建Paradox 5.0 for Windows 数据表Users.DB,结构见表1。事实上,对于商业软件还需要更多的域。

表1 表Users.DB 的结构
域名类型大小关键字说明
Name A 16 * 用户名
Password A 16 * 注册口令
Fullname A 32 用户全名
Group I 用户组号
Enabled L 注册允许

  4 .设定Name, Group 和Enabled 为非空域(Required Field),Group 的最小值为0,最大值为3,默认值为3,Enabled 的默认值为True。用户组0 为系统管理员,可进行几乎任何操作;用户组1 为软件操作人员,可进行除用户帐户管理以外的操作,包括建立和删除数据;用户组2 为普通用户,可使用系统资源,无修改权限,而用户组3 仅可浏览系统有限信息。

  5 .用口令"UserPassword" 保护Users.DB 表, 存于Data 目录下。利用Database Desktop 向表中输入若干样本用户(见表2),然后关闭DatabaseDesktop。

表2 表Users.DB 的样本用户
Name Password Fullname Group Enabled
Supervisor AAAAAA Super User 0 True
Director BBBBBB Director User 1 True
Guest 3 True
User1 CCCCCC General User1 1 False
User1 DDDDDD General User1 2 True
User2 EEEEEE General User2 3 True

  表2 显示,允许同一用户以不同身份(用户组)登录进入系统,享有不同的权限。如用户User1,以不同密码登记,分属用户组1 和2。

  6 .返回Delphi IDE,新建项目Register.dpr 并存入C:\Register 目录,主窗体单元命名为Main.pas。用户注册成功后,方能启动主窗体进入系统。本系统仅显示用户信息及登录的日期和时间以表示注册成功(见图5),并不做其它任何事情,这里便是读者应用系统的接口。为此,在主窗体上放入一个TGroupBox 组件,TLabel 和TEdit 组件各五个。将所有TEdit 的Text 属性清空,ReadOnly 属性值设为True,窗体和组件其余属性按表3 设置。

  7 .创建主窗体的OnActivate 事件处理程序,登录成功并激活主窗体时执行,显示用户信息、登录日期和时间。过程如下:

procedure TMainForm.FormActivate(Sender: TObject);
begin
if Time< =StrToTime('12:00:00') then
Caption:=' 上午好,您已成功登录!'
else
Caption:=' 下午好,您已成功登录!';
// 显示登录用户信息、登录日期和时间
NameEdit.Text:=LoginUser.UserName;
FullNameEdit.Text:=LoginUser.UserFullName;
GroupEdit.Text:=IntToStr(LoginUser.UserGroup);
DisplayDateEdit.Text:=DateToStr(Date);
DisplayTimeEdit.Text:=TimeToStr(Time);
end;

表3 主窗体中组件属性设置
组件属性设置
 
本文章更多内容1 - 2 - 3 - 下一页>>
本页地址
收藏到:[收藏夹] [百度搜藏] [新浪ViVi] [POCO网摘] [ 和讯网摘] [好哦网摘] [Google书签]
               
[搜狐网摘] [365Key网摘] [天极网摘] [我摘] [博采网摘] [igooi网摘]
相关文章

使代码简洁的五条忠告
ACCESS编程技巧
加密Access数据库
数据筛选技巧
你的人民币金额大写数字到底规不规范?
最精简的小写金额转大写的函数
文件管理(三)
文件管理(二)
文件管理(一)
Delphi图形图像编程(二)

相关评论


本文章所属分类:首页 推荐教程 Delphi   Delphi