背景

  之前我们编写程序的时候都是直接对数据库进行访问,并没有设置什么权限之类的东西,但是在管理数据库的过程中,我们有时候需要控制某个用户访问数据库的权限,比如只能单独的看到属于其管理的某几张表,或者说是拥有CRUD(增加(Create)、读取(Retrieve)(重新得到数据)、更新(Update)和删除(Delete))权限,或者是更小的粒度的划分,总而言之,一切皆是为了系统的安全和操作的方便。

   系统需求简介

最近一直在做高校云平台这个项目,我们小组做的是其中的一个子系统是成绩管理系统,不同于之前的开发方式,本次我们采用的是分模块开发也就是将划分的粒度变得更加的小了,这样就有一个好处,就是各自负责各自的便于开发和调试。

但是这样也带来一个问题,就是数据库是共同的,我们采用的是EF映射也就是从数据库生成的实体,如果都是用一个账号进行登陆的话,那么看到将是同样多的表,其实这样是很没有必要的,故而数据库为我们提供了更好的便利,那就是为各个用户分配不同的权限。

   操作步骤  Ø  数据库级别登录名建完的效果图如下图所示:

SQL Server 2008 R2 为用户权限分配的操作步骤

  Ø  具体步骤

  进入数据库级别的安全性设置----新建【登录名】,如图:

  第一步: 在常规选项卡的中填写:

SQL Server 2008 R2 为用户权限分配的操作步骤

  服务器角色的不用重新设置

  第二步:用户映射选项卡

SQL Server 2008 R2 为用户权限分配的操作步骤

  安全对象不用设置

  第三步:状态选项卡

SQL Server 2008 R2 为用户权限分配的操作步骤

  此时已经设置好了,此时我们该设置这个用户的权限了

  Ø  用户权限的分配

  选中其中的一张表,进行权限设置,必须是刚才设置时的数据库,否则是看不到的。

SQL Server 2008 R2 为用户权限分配的操作步骤
  此时进行相应的权限设置即可

 SQL Server 2008 R2 为用户权限分配的操作步骤

  至此已经完成,我们可以用我们设置的登录名和密码进入,此时看到只是我们分配的几张表。自己动手试试吧。

 以上是针对部分表的限制权限,如果是所有表那么就是直接 要限制的数据库表名>右键>属性 右侧有权限,勾选上删除即可

小结

  这里只是做了一些最简单的数据库用户权限的设置,这是自己在开发过程中用到的,别的一些更加复杂的设置,在以后的过程中会逐步去应用和理解。

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!