(编辑:jimmy 日期: 2024/11/11 浏览:2)
背景
之前我们编写程序的时候都是直接对数据库进行访问,并没有设置什么权限之类的东西,但是在管理数据库的过程中,我们有时候需要控制某个用户访问数据库的权限,比如只能单独的看到属于其管理的某几张表,或者说是拥有CRUD(增加(Create)、读取(Retrieve)(重新得到数据)、更新(Update)和删除(Delete))权限,或者是更小的粒度的划分,总而言之,一切皆是为了系统的安全和操作的方便。
系统需求简介
最近一直在做高校云平台这个项目,我们小组做的是其中的一个子系统是成绩管理系统,不同于之前的开发方式,本次我们采用的是分模块开发也就是将划分的粒度变得更加的小了,这样就有一个好处,就是各自负责各自的便于开发和调试。
但是这样也带来一个问题,就是数据库是共同的,我们采用的是EF映射也就是从数据库生成的实体,如果都是用一个账号进行登陆的话,那么看到将是同样多的表,其实这样是很没有必要的,故而数据库为我们提供了更好的便利,那就是为各个用户分配不同的权限。
操作步骤 Ø 数据库级别登录名建完的效果图如下图所示:
Ø 具体步骤
进入数据库级别的安全性设置----新建【登录名】,如图:
第一步: 在常规选项卡的中填写:
服务器角色的不用重新设置
第二步:用户映射选项卡
安全对象不用设置
第三步:状态选项卡
此时已经设置好了,此时我们该设置这个用户的权限了
Ø 用户权限的分配
选中其中的一张表,进行权限设置,必须是刚才设置时的数据库,否则是看不到的。
至此已经完成,我们可以用我们设置的登录名和密码进入,此时看到只是我们分配的几张表。自己动手试试吧。
以上是针对部分表的限制权限,如果是所有表那么就是直接 要限制的数据库表名>右键>属性 右侧有权限,勾选上删除即可
小结
这里只是做了一些最简单的数据库用户权限的设置,这是自己在开发过程中用到的,别的一些更加复杂的设置,在以后的过程中会逐步去应用和理解。