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

背景

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

   系统需求简介

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

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

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

  Ø  具体步骤

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

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


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

  第二步:用户映射选项卡

  安全对象不用设置

  第三步:状态选项卡


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

  Ø  用户权限的分配

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


  此时进行相应的权限设置即可

 

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

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

小结

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

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: