请教关于外部应用访问SQL Server的权限管理问题

zhu3go 2011-05-18 08:25:10
小弟初学SQL Server,想请教大家一个关于外部应用程序访问SQL Server的权限管理 实现的问题。

请问在具体项目实施中,外部应用程序是如何对应用程序 访问数据库进行操作的权限进行管理的,如何实现的?
用基于角色管理,下面两种方式通常用哪种?

1 在数据库内建立 用户表、角色表、权限表、用户-角色表和角色-权限表, 然后外部应用程序通过sa连接数据库,在数据库中查找该用户在应用程序登录中的用户名对应的角色,获取相应权限。

这种方法可行,但是似乎比较麻烦,访问权限完全有应用程序的逻辑实现(这部分代码放在中间件中),而且软件如果有漏洞危害比较严重

2 采用SQL Server2005提供的安全机制,用应用程序角色,为应用程序角色分配架构、对表的相应权限,外部应用程序登陆的时候链接到相应数据库的应用程序角色,采用SQL Server引擎提供的安全机制约束应用程序角色的权限。

小弟初学,对SQL Server的用户权限这块不是很清楚,不知道第二种方法是否可行,是否常用。

综上,请教各位,上面说到的两种方法,是否全都可行? 两种方案有各有哪些优劣? 实际项目,工程应用中大多采用哪种方式?

还望有经验的前辈们不吝赐教多多交流,共同进步!
...全文
73 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhu3go 2011-05-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 fredrickhu 的回复:]
直接设置数据库的权限

而外部程序在数据库中建立权限表

用程序去判断是否满足权限

比如建立表


用户 用户 ID
admin 1
user 2
[/Quote]

也就是我说的方法1了?
jwdream2008 2011-05-18
  • 打赏
  • 举报
回复

明盘!
--小F-- 2011-05-18
  • 打赏
  • 举报
回复
直接设置数据库的权限

而外部程序在数据库中建立权限表

用程序去判断是否满足权限

比如建立表


用户 用户 ID
admin 1
user 2
zhu3go 2011-05-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fredrickhu 的回复:]
外部程序的权限可以在数据库中得到体现

而数据库的权限则需要自身去设置
[/Quote]

应该用哪种方法?能说的详细点么?
--小F-- 2011-05-18
  • 打赏
  • 举报
回复
外部程序的权限可以在数据库中得到体现

而数据库的权限则需要自身去设置

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧