设为首页 收藏本站
查看: 821|回复: 0

[经验分享] 在 SQL Server 中授予行级权限

[复制链接]

尚未签到

发表于 2016-11-5 07:18:39 | 显示全部楼层 |阅读模式
某些方案中会要求更为细致地控制访问,而不仅仅是授予、撤消或拒绝对数据的权限。 例如,医院数据库应用程序可能会将患者信息存储在单个表中。 可能需要限制医生仅查看与他们自己的患者相关的信息。 在很多环境中(包括财务、法律、政府和军事应用程序)都存在类似的方案。 不过,SQL Server 并不支持实现行级安全性。 您必须在表中创建附加列以定义行筛选机制。

  
  实现行级权限


行级权限用于在单个表中存储信息的应用程序。 每行均有一个定义区别性参数的列,如用户名、标签或其他标识符。 然后可以创建参数化存储过程,传入适当的值。 用户只能看到与所提供的值匹配的行。

下面的步骤说明如何基于用户名或登录名配置行级权限。

· 创建表,添加用于存储名称的附加列。
· 基于用户名列创建一个具有 WHERE 子句的视图。 这会将返回行限制为具有指定值的行。 使用内置函数之一指定数据库用户名或登录名。 这样就不必为不同的用户创建不同的视图。
复制

' Returns the login identification name of the user.

WHERE UserName = SUSER_SNAME()


' USER_NAME or CURRENT_USER Return the database user name.

WHERE UserName = CURRENT_USER()


· 基于视图而不是基表创建用于选择、插入、更新和删除数据的存储过程。 视图提供筛选器,它可限制返回或修改的行。
· 对于插入数据的存储过程,使用视图的 WHERE 子句中指定的同一函数捕获用户名并将该值插入 UserName 列。
· 拒绝 public 角色对表和视图的所有权限。 用户将不能从其他数据库角色继承权限,因为 WHERE 子句基于用户名或登录名而不基于角色。
· 为数据库角色授予对存储过程的 EXECUTE 权限。 用户只能通过提供的存储过程访问数据。

以上内容转自:http://msdn.microsoft.com/zh-cn/library/bb669076.aspx

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-295894-1-1.html 上篇帖子: 抱SQL SERVER大腿之我爱用视图 下篇帖子: SQL SERVER ID标识列重新置1并排列
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表