实施访问控制列表与使用数据库角色和用户

时间:2013-05-12 07:36:03

标签: sql-server wcf acl roles database-permissions

首先,在你把我烧到地板之前,我想说我花了相当多的时间阅读和研究这个话题。我已经阅读了一些关于stackoverflow本身的内容,例如

  1. How can I implement an Access Control List in my Web MVC application?
  2. Database schema for ACL
  3. 我觉得有趣的是它必然向我解释如何创建一个好的acl实现,并且我遵循这两个方法。此外,我还提到Korth的数据库概念,以了解查询优化和性能影响。

    但我真正的问题归结为这种愚蠢的方法。为什么不在数据库上创建角色并授予表权限然后使用相应角色访问数据库更好。由于我使用的是SQL SERVER,我所要做的就是在连接字符串上指定用户名和密码并将其完成。我只想知道这种方法的优点和缺点,而不是花费大量时间编写和测试自己的ACL实现(同意学习很有趣:D)。所以请建议。

1 个答案:

答案 0 :(得分:2)

好的,好的,发现了一个问题:“为什么不是在数据库上创建角色并授予表权限然后使用相应的角色访问数据库更好?”。 :)

不同之处在于前端,站点管理和数据库管理。

考虑论坛。您可能有一个角色或标题列表,每个角色或标题都有不同的权限集,以表明它们能够做什么和不能做什么。这可能包括阅读,发布,回复,创建新主题和创建主题。

论坛用户只能看到这些角色,而网站管理员将能够看到这些角色的权限。只有数据库管理员才能看到这些角色与数据库帐户的关联方式。

某些帐户可能在一个实例中具有插入权限,但在另一个实例中不具有相同的实例。通过将用户帐户与具有设置ACL权限的角色相关联,该角色可以与SQL帐户绑定,以在后台提供适当的访问权限。

我希望能回答你的问题。 :)