1、实验五 数据库的安全性控制一、实验目的:1. 通过实验加深对数据安全性的理解,并掌握SQLServer中有关用户登录的认证以及管理办法;2. 通过实验加深对数据库存储控制机制的理解,通过自主存取控制进行权限管理,熟悉SQL Server中角色管理;3.通过实验加深对数据安全性的理解,熟悉视图机制在自主存取控制上的应用。二、实验内容1.设置SQL Server的混合安全认证模式。在SQL Server中的对象资源管理器中设置安全认证模式。2.在SQL Server中,利用“对象资源管理器”创建一个名为“U1”的登录用户和数据库用户,密码为111,并允许其登录S-T数据库。3.在SQL Serve
2、r中,利用代码创建一个名为“U2”的登录用户,密码为111;其相应的数据库用户名为lucky,并允许其登录S-T数据库。4.用“u1”用户名登录后,执行对students表的查询操作,说明执行结果,并分析原因(建议:在启动一个SQL Server 2008窗口)。分析:没有对u1进行其他操作的授权,只能登录而不能进行插入,修改等操作5.将students表的操作权限select和insert赋予数据库用户u1,并允许其向其它用户授权。6.以“u1”用户名登录,执行对students和teacher表的查询操作,将该运行结果进行分析。分析:对比第4题,对U1进行授权后可以进行相应的操作7.执行下
3、列代码后,分析用户u2能否对s_t数据库的student表进行select和update操作,为什么?并用相应的语句验证。分析:首先grant给public组赋予了查询 ,插入,更新权限,然后给lucky用户赋予了对S表的所有权限,然后又revoke收回了lucky的权限,但并没有收回public组的权限,而deny却收回了lucky的更新权限,故查询可实现,而更新不可实现8.以sa登录数据库,在s_t数据库的stc表上创建选修了课程B001的视图st_view。将该视图上的select和列score上的update权限授予u1;9.以U1登录,对学号为“”成绩提高10分,并查看修改后的结果。10.撤销u2账号。11.创建角色r1,并向r1角色授予teacher表的所有权限提示: USE 数据库名 Create role 角色名12.将U1添加到r1角色中,在u1用户登录窗口,查询teacher表;然后将该用户从r1角色中删除,再以u1用户的身份查询teacher表;观察并分析结果。提示:(1)将用户添加到角色中 sp_addrolemember 角色1 ,用户名 (2)从角色中删除用户 sp_droprolemember 角色1,用户名分析:r1角色被赋予了权限,并加到u1用户分析:ri角色被删除之后,u1用户中就没有角色有对T表的查询权限了。10 / 10