数据库SQL Server实验报告 之 SQL数据库的安全性(7/8)

数据库的安全性实验

注意:原版word在下载资源里面(免费下载)

实验目的及要求:

  1. 使学生加深对数据库安全性和完整性的理解。
  2. 掌握SQL Server中有关用户、角色及操作权限的管理方法。
  1. 数据库的安全性实验,在SQL Server企业管理器中,设置SQL Server的安全认证模式。
  2. 实现对SQL Server的用户和角色管理。
  3. 设置和管理数据操作权限。

实验内容及步骤:

1.首先设置能够以“SQL SERVER身份登录”,以Sa登录名进去,密码设置成“sa123”

2.再创建三个以SQL Server身份验证的登录名,登录名分别为login1、login2和login3,密码分别为“111”、“222”和“333”

create login login1 with password='111';

create login login2 with password='222';

create login login3 with password='333';

3.分别为三个登录名在“XSGL”数据库映射三个数据库用户,数据库用户名为Tom,Mary和John,使这三个登录名可以访问“XSGL”数据库。 

use XSGL

create user Tom

for login login1;

create user Mary

for login login2;

create user  John

for login login3;

4.授予用户John创建表和视图的权限。 

grant create table,create view

to John;

--exec  sp_addrolemember  'db_owner',' John'

5.然后以login3登录名进去创建一个新表和一个新的视图进行验证。

创建新表

create table a

( a int);

创建视图

create view b(sno,sname)

as select sno,sname

from student

  1. 把对表student的INSERT权力授予用户Tom,并允许他再将此权限授予其他用户,设置完成进行验证。 

grant insert

on student

to Tom

with grant option

  1. 用户Mary对Student,course,sc三个表有SELECT和INSERT权力 ,进行验证。

grant select,insert

on student

to Mary

grant select,insert

on sc

to Mary

grant select,insert

on course

to Mary

  1. 用户Tom对sc表有DELETE权力,对grade字段具有UPDATE权力,设置完成进行验证。 

grant delete

on sc

to Tom

grant update(grade)

on sc

to Tom

  1. 把对用户Tom授予的所有权力收回,设置完成进行验证。

revoke delete,update

on  sc

from Tom

revoke insert

on  student

from Tom cascade

  1. 要求新建U1用户,对应登录名“ddd”,具有查看选修了数据库课程的学生学号、姓名、所在系和成绩信息,同时对该成绩具有修改的权限,设置完成进行验证。

新建登录名

create login ddd with password='111'

新建用户

create user u1 for login ddd

新建视图

create view caojing (sno,sname,sdept,grade)

as

select student.sno,sname,sdept,grade

from student,sc

where cno in(select cno from course where cname='数据库')

grant all on caojing to u1

  1. 创建新的用户U2和U3,进行下面相应的权限设置。

create login login4 with password='444'

create login login5 with password='555'

create user u2 for login login4

create user u3 for login login5

  1. 赋予所创建的U2用户db_datareader角色,验证权限设置。

create role caojing

exec db_datareader'caojing','u2'

  1. 赋予所创建的U3用户db_datawriter角色,验证权限设置。

create role caojing2

exec db_datawriter'caojing2','u3'

  1. 查看用户U2的权限信息

exec sp_helprotect null,'u2'

(4)查看SC表的授权信息。

exec sp_helprotect'student'

  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
要在 JSP 中操作 SQL Server 数据库,你需要进行以下步骤: 1. 下载并安装 SQL Server JDBC 驱动程序。 2. 在 JSP 文件中导入 JDBC 驱动程序。 3. 编写 Java 代码来连接到 SQL Server 数据库。 4. 编写 SQL 查询或更新语句。 5. 将查询结果显示在 JSP 页面上。 以下是一个简单的 JSP 页面示例,可以连接到 SQL Server 数据库并显示表中的数据: ``` <%@ page import="java.sql.*" %> <% Connection conn = null; Statement stmt = null; ResultSet rs = null; String url = "jdbc:sqlserver://localhost:1433;databaseName=mydatabase"; String user = "username"; String password = "password"; try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); conn = DriverManager.getConnection(url, user, password); stmt = conn.createStatement(); rs = stmt.executeQuery("SELECT * FROM mytable"); while (rs.next()) { out.println(rs.getString("column1") + " " + rs.getString("column2")); } } catch (Exception e) { e.printStackTrace(); } finally { if (rs != null) try { rs.close(); } catch(Exception e) {} if (stmt != null) try { stmt.close(); } catch(Exception e) {} if (conn != null) try { conn.close(); } catch(Exception e) {} } %> ``` 在此示例中,我们首先导入了 java.sql 包,然后定义了数据库连接参数。接下来,我们尝试连接到数据库并执行查询语句。最后,我们使用 while 循环遍历结果集并将其输出到 JSP 页面上。请注意,我们还在 finally 代码块中关闭了所有打开的连接、语句和结果集,以确保资源得到释放。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

君无戏言。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值