实验报告
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