实验一身份验证与授权控制.docx
- 文档编号:15359257
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:12
- 大小:345.65KB
实验一身份验证与授权控制.docx
《实验一身份验证与授权控制.docx》由会员分享,可在线阅读,更多相关《实验一身份验证与授权控制.docx(12页珍藏版)》请在冰点文库上搜索。
实验一身份验证与授权控制
《电子商务安全技术》上机实验
实验一:
身份验证与授权控制
一、实验目的
通过本实验,使学生理解身份验证及访问控制技术的原理,掌握它们在应用程序设计中的应用;同时学习掌握多层分布式系统结构(C/S或B/S)应用程序设计方法。
二、实验要求
1、掌握基于口令的身份验证技术;
2、掌握应用程序设计中的用户访问授权控制技术;
3、掌握多层分布式系统结构(C/S或B/S)应用程序设计方法。
三、实验内容
设计一个三层结构的基于口令的身份验证及用户访问授权控制系统。
该系统由客户端程序、应用服务器端程序及后台数据库等三部分构成。
1、后台数据库:
由一个用户身份数据表、一个简单的用户访问授权表和操作对象数据表组成。
其中,用户身份数据表至少包括用户ID、用户口令字段等字段,用户访问授权表至少包括用户ID、输入操作权限、删除操作权限、修改操作权限、查询操作权限等字段,操作对象数据表可以有学生自行设计。
2、客户端程序:
包括输入并向应用服务器端程序提交用户ID与用户口令的用户登录程序,用户对数据库数据进行输入删改查询等操作的数据操作程序,其中用户对数据的输入、删除、修改、查询等操作受授权控制。
3、应用服务器端程序:
包括应用服务器程序和用户身份验证与访问授权控制程序。
其中用户身份验证与访问授权控制程序对用户输入并提交的用户ID与用户口令进行验证,并向客户端用户登录程序传输验证成功与失败的标志,客户端用户登录程序据此向用户提示验证结果,同时,如果验证成功,还需要向客户端用户登录程序传输数据操作权限,由它调用客户端的数据操作程序并将这些权限通过参数传递给数据操作程序。
四、实验步骤
步骤1:
设计后台数据库,向各个关系表输入数据;
步骤2:
设计应用服务器程序;
步骤3:
设计服务器端用户身份验证与访问授权控制程序;
步骤4:
设计客户端用户登录程序;
其中登录按钮代码如下:
procedureTForm1.Button1Click(Sender:
TObject);
varUserID,PW:
String;
DeleteR,QueryR,UpdateR,ImportR:
boolean;
begin
UserID:
=Edit1.Text;
PW:
=Edit2.Text;
ifSalesDM.Users.FindKey([UserID])and(pw=SalesDM.Users.FieldByName('Password').Value)then
begin
withSalesDM.Rightsdo
begin
FindKey([userid]);
DeleteR:
=FieldByName('DeleteRight').Value;
QueryR:
=FieldByName('QueryRight').Value;
UpdateR:
=FieldByName('UpdateRight').Value;
ImportR:
=FieldByName('ImportRight').Value;
end;
Form2.button1.Enabled:
=DeleteR;
Form2.button2.Enabled:
=QueryR;
Form2.button3.Enabled:
=UpdateR;
Form2.button4.Enabled:
=ImportR;
Form2.button5.Enabled:
=DeleteRorUpdateRorImportR;
form2.DBGrid1.DataSource.AutoEdit:
=DeleteRorUpdateRorImportR;
form1.Visible:
=false;
Form2.show;
end
else
application.MessageBox('请输入正确的用户名字和密码!
','提示',MB_OK);
end;
步骤5:
设计客户端数据操作程序;
其中删除按钮代码:
procedureTForm2.Button1Click(Sender:
TObject);
begin
salesdm.Products.MoveBy(0);
ifMessagedlg('确定删除吗?
',mtConfirmation,[mbYes,mbNo],0)=mrYes
thensalesdm.Products.Delete;
end;
查询代码:
procedureTForm2.Button2Click(Sender:
TObject);
begin
salesdm.Products.Active:
=false;
salesdm.Products.Active:
=true;
end;
更新代码:
procedureTForm2.Button3Click(Sender:
TObject);
begin
salesdm.Products.FieldByName('ProductID').AsString:
=dbedit1.EditText;
salesdm.Products.FieldByName('ProductName').AsString:
=dbedit2.EditText;
salesdm.Products.FieldByName('Price').AsString:
=dbedit3.EditText;
salesdm.Products.Post;
application.MessageBox('已经更新!
','提示',MB_OK);
end;
添加代码:
procedureTForm2.Button4Click(Sender:
TObject);
begin
salesdm.Products.Last;
salesdm.Products.Insert;
end;
保存代码:
procedureTForm2.Button5Click(Sender:
TObject);
begin
salesdm.Products.FieldByName('ProductID').AsString:
=dbedit1.EditText;
salesdm.Products.FieldByName('ProductName').AsString:
=dbedit2.EditText;
salesdm.Products.FieldByName('Price').AsString:
=dbedit3.EditText;
salesdm.Products.Post;
application.MessageBox('已经为您保存!
!
','提示',MB_OK);
end;
步骤6:
运行应用服务器程序;
步骤7:
运行调试客户端用户登录程序及应用服务器端的应用服务器程序和用户身份验证与访问授权控制程序;
使用管理员登录:
账户密码分别为:
101和101
使用员工登录:
账户密码分别为:
102和102
步骤8:
运行调试客户端数据操作程序。
五、实验结果
调试完成的可实现基于口令的身份验证与访问授权控制的客户端与服务器端程序及后台数据库。
员工登录只能实现查询功能:
单价查询得到数据,但无法进行编辑:
如果使用管理员登录,这可进行对数据的修改删除。
演示删除:
选择208数据,点击删除,会弹出窗口提示是否删除,点击确定:
看数据库改变,208的数据就消失了:
先对203的数据进行更新改为207,207,207,选择203数据,在左边输入,点击更新,提示确定,就好了。
对应数据库变化:
点击添加按钮,在方进行编辑,添加209,009,209的数据后点击保存,则更新成功。
对应数据库变化:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 身份验证 授权 控制