手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Mysql>列表

SQL的访问控制

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

  举一些实例给大家看看。假设我们最近刚招聘了42名数据录入操作员,他们要做的工作是添加和维护客户记录。他们必须能够访问并修改Customers表里的数据,还应该能够往表里添加新记录。但他们没有权利从表里完全删除任意一条记录。首先,我们应该为每一个操作员创建一个用户帐号,并把这些用户帐号添加到一个新的角色DataEntry中。接下来,我们要用下面的SQL命令授予这些用户适当的权限:

  GRANT SELECT, INSERT, UPDATE
  ON Customers
  TO DataEntry

  很简单的命令。接下来,我们看一个数据库级别权限分配的例子。我们想让DBA角色中的成员拥有向数据库添加新表的权限。而且,我们希望他们能够给授予别的用户和上相同的权限。下面是具体的SQL命令:

GRANT CREATE TABLE
TO DBA
WITH GRANT OPTION

  可能您已注意到这个命令的语法类似于GRANT命令。唯一的不同之处在于WITH GRANT OPTION是在REVOKE命令行做的声明而不是在命令的末尾。

  还是通过例子来说明吧,假设我们撤销之前赋予用户Linlin从Customers数据库中删除记录的权限,命令如下:

  REVOKE DELETE
  ON Customers
  FROM Linlin

  值得一提的是Microsoft SQL Server还支持另外一种类似撤销机制——DENY(拒绝)命令。实时用户现在或将来通过角色配置的关系拥有了某种权限,这个命令也能够用来明确的拒绝该用户执行这个权限。该命令语法如下:

  DENY

  ON


   注意我们用了WITH GRANT OPTION来确保数据库管理员们能够把这个权限分配给别的用户。

现在为止,我们已学习了如何为数据库添加用户和角色,连同如何根据需要为他们分配权限。下面我们将讨论如何撤销用户权限的方法。

撤销权限

一旦我们为用户赋予权限,日后常常需要撤销之前授予的权限。幸好,用SQLREVOKE命令就能够撤销以前赋予的权限,语法如下:

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

Google