180 likes | 349 Views
第十三单元 安全性管理. 学习目标. 熟练掌握如何注册服务器,学习如何管理用户、角色并授予相关权限。. 内容框架. 问题. 赵老师当了 00 电子商务班的班主任,他要能查到全校的课程信息以及本班学生的选课信息,如何让他有权查到这些信息。. 安全管理. 一个用户要对某一个数据库进行操作 ,必须同时满足两个条件: 能连接到 SQL Server 服务器(连接权) 有执行该操作的权限(访问权). 安全管理. 房子 (SQL Server). 授权. 大门. 验证. SQL Server 验证模式. SQL Server 两种验证模式
E N D
学习目标 • 熟练掌握如何注册服务器,学习如何管理用户、角色并授予相关权限。 内容框架
问题 赵老师当了00电子商务班的班主任,他要能查到全校的课程信息以及本班学生的选课信息,如何让他有权查到这些信息。
安全管理 一个用户要对某一个数据库进行操作 ,必须同时满足两个条件: 能连接到SQL Server服务器(连接权) 有执行该操作的权限(访问权)
安全管理 房子 (SQL Server) 授权 大门 验证
SQL Server验证模式 SQL Server两种验证模式 1. 仅Windows 验证 2. SQL Server和Windows的混合 验证 设置安全认证模式
登录管理 必须有合法的登录账号才能建立与SQL Server的连接 【例】为新老师创建登录账号 EXEC sp_addlogin ‘logzhao’, ’01’ 验证登录帐号能否对数据库进行访问。
数据库用户管理 有了登录帐号后,还要对应数据库用户才能连接数据库 【例】在数据库中创建用户dbuserzhao,对应的登录帐号是logtzhao。 exec sp_grantdbaccess ‘logzhao', 'dbuserzhao‘ 验证与数据库的连接和访问
授予权限 权限分为: 1. 语句权限:create table, view, trigger etc… 2. 对象权限: select, insert, exec, update, delete,exec 【例】授予用户权限 grant select on course to dbuserzhao 【例】验证登录账号logzhao能否访问course表
解决问题 解决赵老师能查询本班学生的选课信息 步骤1.创建00电子商务班的选课信息视图 Create view csel as Select stucou.stuno,couno,willorder from stucou,student,class Where stucou.stuno=student.stuno and student.classno=class.classno and classname=’00电子商务’
解决问题 步骤2.把访问该视图的权限授予赵老师 步骤3.验证赵老师能否访问视图
解决问题 • 赵老师能了解本班某课程的选课情况 步骤1.创建能查询本班指定课程选课信息的存储过程 create proc c_cou @kc char(10) As Select stuno,couname,willorder from csel,course Where csel.couno=course.couno and Couname=@kc
解决问题 步骤2.把执行该存储过程的权限授予赵老师 grant exec on c_cou to dbuserzhao 步骤3.验证赵老师能否执行存储过程
撤消权限 【例】撤消赵老师执行上面存储过程的权限
解决问题 步骤5:使用户成为角色成员 sp_addrolemember ‘m_role’,’dbuser1’ sp_addrolemember ‘m_role’,’dbuser2’ 步骤6: 验证插入权限
删除 删除登录、用户 sp_droplogin sp_dropuser Management Studio用法
本单元小结 登录管理——使得可以连到数据库服务器 用户管理——使得可以连到数据库 对用户授权
课后任务 • 独自完成第291页实训