使用存储过程演练SQL SEVER的三层安全模型
2008-04-17 17:57
302 查看
登录用户如果想使用数据库对象,必须要与数据库的用户进行关联.新建的登录用户dong默认与guest用户关联.新建的登录用户使用数据库对象(表,视图,存储过程,触发器等等)的时候,默认是用guest用户的权限使用的.
但我们也可以设定登录用户和具体的数据库用户关联例如例子中的'dong'关联.
print 'SQL Server的三层安全模型'
-------------------------------------------------------------------
print '1.访问服务器的权限'
print '1.1添加一个登录名dong'
EXEC sp_addlogin 'dong'
print '1.2空密码修改密码为123456'
EXEC sp_password NULL,'123456','dong'
print '1.3修改dong的默认登陆数据库为Northwind'
EXEC sp_defaultdb 'dong','Northwind'
GO
-------------------------------------------------------------------
print '2.访问数据库的权限'
--如果不执行这一步,默认登陆用户dong关联该数据库的guest用--户
--如果该数据库没有guest,则登陆用户dong不能访问数据库
print '2.1用登录名创建一个数据库用户dong'
print '2.2把登录名关联一个数据库用户才能访问数据库'
USE Northwind
EXEC sp_grantdbaccess 'dong'
GO
-------------------------------------------------------------------
print '3.访问数据库对象的权限'
print '3.1赋予数据库用户dong,能够查询Customers表的权限'
USE Northwind
GRANT SELECT
ON Customers
TO dong
print '3.2赋予数据库用户dong,拒绝查询Customers表的权限'
DENY SELECT
ON Customers
TO dong
print '3.3撤销数据库用户dong,查询Customers表的权限'
REVOKE SELECT ON Customers
TO dong
print '上面就是SQL SERVER的三层安全模型.即:服务器安全验证,数据库安全,以及数据库对象安全.'
GO
-------------------------------------------------------------------
print '4.删除一个登录名'
print '4.1先删除数据库中的权限'
USE Northwind
EXEC sp_revokedbaccess 'dong'
print '4.2删除登陆'
EXEC sp_droplogin 'dong'
GO
但我们也可以设定登录用户和具体的数据库用户关联例如例子中的'dong'关联.
print 'SQL Server的三层安全模型'
-------------------------------------------------------------------
print '1.访问服务器的权限'
print '1.1添加一个登录名dong'
EXEC sp_addlogin 'dong'
print '1.2空密码修改密码为123456'
EXEC sp_password NULL,'123456','dong'
print '1.3修改dong的默认登陆数据库为Northwind'
EXEC sp_defaultdb 'dong','Northwind'
GO
-------------------------------------------------------------------
print '2.访问数据库的权限'
--如果不执行这一步,默认登陆用户dong关联该数据库的guest用--户
--如果该数据库没有guest,则登陆用户dong不能访问数据库
print '2.1用登录名创建一个数据库用户dong'
print '2.2把登录名关联一个数据库用户才能访问数据库'
USE Northwind
EXEC sp_grantdbaccess 'dong'
GO
-------------------------------------------------------------------
print '3.访问数据库对象的权限'
print '3.1赋予数据库用户dong,能够查询Customers表的权限'
USE Northwind
GRANT SELECT
ON Customers
TO dong
print '3.2赋予数据库用户dong,拒绝查询Customers表的权限'
DENY SELECT
ON Customers
TO dong
print '3.3撤销数据库用户dong,查询Customers表的权限'
REVOKE SELECT ON Customers
TO dong
print '上面就是SQL SERVER的三层安全模型.即:服务器安全验证,数据库安全,以及数据库对象安全.'
GO
-------------------------------------------------------------------
print '4.删除一个登录名'
print '4.1先删除数据库中的权限'
USE Northwind
EXEC sp_revokedbaccess 'dong'
print '4.2删除登陆'
EXEC sp_droplogin 'dong'
GO
相关文章推荐
- 汤森路透 Thomson Reuters --使用多模型数据库ArangoDB 打造快速安全的简单视图分析
- Entity Framework 6 Recipes 2nd Edition(10-6)译 -> TPT继承模型中使用存储过程
- PetShop中为什么不用存储过程,而使用动态SQL??效率高?安全?
- Entity Framework 6 Recipes 2nd Edition(10-7)译 -> TPH继承模型中使用存储过程
- Entity Framework 三层架构--持久层使用封装之实体模型
- 结合三层,使用存储过程与JQ实现下拉框的联动
- Fiddler抓包工具使用指南|手机安装Fiddler的安全证书
- 电梯的安全使用常识
- 使用ReentrantLock和Condition实现生产者消费者模型
- Java 安全模型介绍
- c总结10--- 二级指针使用三种模型之三(二级指针3)
- 使用Nikto漏洞扫描工具检测网站安全
- 演练:创建和使用动态链接库 (C++)
- MyGeneration学习笔记(1) : 使用MyGeneration生成存储过程和数据访问层代码
- 网络安全软件FileAudit数据库使用方法
- 不安全代码只会在使用/unsafe编译的情况下出现
- strcpy的使用--安全编程策略
- 使用Java过滤器编写简单的登陆安全控制
- 互联网业务安全之通用安全风险模型
- [导入]关于Access里使用存储过程!