实验课题四用户登录与权限设计

更新时间:2024-06-16 11:21:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验报告

2012 – 2013 学年第 1 学期 任课老师: 课程名称 《C/S程序综合设班级 计》 网络工座号 程 姓名 实验时间 实验题目 实验课题四、用户登录与权限设计 实验目的、要求 用户在这里就指操作人员,已经在人员档案中进行管理,通过设计用户登录和用户权限的管理,实现用户按权限访问资源,管理员按要求授予用户权限,登录程序安全稳定,设计用户菜单及程序调用。人员表中需要新增字段口令、用户权限。系统中每个操作人员都可以作为用户,当一个用户权限修改时,不会影响其他用户;可以对每个用户单独授予某个程序的执行权,也可以收回其执行权,而不影响其他用户的权限; 1. 用户登录程序,名称用以“班级+座号+(表示程序名的中英文信息)”来命名,输入用户名和口令,判断正确后,按用户的权限,显示有权的菜单项,无权菜单项必须不可见或不可操作。 2. 用户授权程序,名称用以“班级+座号+(表示程序名的中英文信息)”来命名。有授权权限的用户,可以指定某个用户获取某个程序执行权,或被禁止某个程序的执行权。 实验设计内容 用户登录与权限设计 主界面: 登陆界面: 授权界面: 用户登录与权限代码: 登陆代码: procedure TForm5.Button1Click(Sender: TObject); begin if trim(edit1.Text)='' then showmessage('用户名不能为空') else if trim(edit2.Text)='' then showmessage('请输入密码') else begin adoquery1.close; adoquery1.SQL.Clear; adoquery1.SQL.Add('select * from wl100323用户表'); adoquery1.SQL.Add('where 用户名='''+trim(edit1.Text)+''''); adoquery1.Open; adoquery2.close; adoquery2.SQL.Clear; adoquery2.SQL.Add('select * from wl100323用户表'); adoquery2.SQL.Add('where 密码='''+trim(edit2.Text)+''''); adoquery2.SQL.Add('and 用户名='''+trim(edit1.Text)+''''); adoquery2.Open; if (adoquery1.RecordCount=0) or (adoquery2.RecordCount=0) then showmessage('用户名或者密码错误') else begin if trim(adoquery1.FieldByName('用户名').AsString)='admin' then form6.show else form1.show; end end; end; 查看已有用户权限: procedure TForm6.Button1Click(Sender: TObject); var a,b:string; i:integer; begin checklistbox1.Checked[0]:=false; checklistbox1.Checked[1]:=false; checklistbox1.Checked[2]:=false; adoquery1.close; adoquery1.SQL.Clear; adoquery1.SQL.Add('select * from wl100323用户表'); adoquery1.SQL.Add('where 用户名='''+trim(form6.edit1.Text)+''''); adoquery1.Open; if trim(edit1.Text)='' then showmessage('用户名不能为空') else begin if adoquery1.RecordCount=0 then showmessage('该用户不存在') else begin a:=adoquery1.FieldByName('权限').AsString; i:=0; while i

showmessage('用户密码不能为空') else begin with ADOQuery1 do begin close; sql.Clear; sql.Add('insert into Wl100323用户表(用户名,密码,权限)'); sql.Add('values(:v1,:v2,:v3)'); parameters.ParamByName('v1').Value:=edit1.Text; parameters.ParamByName('v2').Value:=edit2.Text; parameters.ParamByName('v3').Value:=111; execsql; showmessage('用户增加成功') end; end; end; 登陆用户删除: procedure TForm6.Button3Click(Sender: TObject); begin if trim(edit1.Text)='' then showmessage('请输入用户名') else if MessageDlg('确定要删除么?',mtConfirmation,[mbYes,mbNo],0)=mrYes then begin with ADOQuery3 do begin close; sql.Clear; sql.Add('delete from wl100323用户表'); sql.Add('where 用户名='''+edit1.Text+''''); execsql; showmessage('删除成功!') end; end; end; 数据库表: create table wl100323用户表 ( 用户名char(10), 密码char(10), 权限int ) 实验结果记录以及与预期结果比较以及分析 实验能够完成课题四的要求可以通过登陆界面实现用户的登陆,通过授权界面能够对登陆用户进行增加删除及其权限的更改。通过更改权限可以完成对登陆用户的权限的更改使对课题一中的人员、物料档案的管理的不同操作。 总结以及心得体会 通过本次实验使我对登陆界面的设计及权限的授予以及更改有了进一步的了解。能够实现不同用户对数据的操作进行控制。对于权限的授予对数据库中数据的保护是必要的。在这个课题中我学到了授权在delphi中的基本实现做法但还不完善应该更加深入的学校从而完成对数据中数据的保护。 指导老师评阅意见 指导老师: 年 月 日

本文来源:https://www.bwwdw.com/article/g903.html

Top