2013-05-12 32 views
1

首先,在您将我引荐到会场之前,我想说我已花费大量时间阅读和研究此主题。我看过一些关于计算器本身如实施访问控制列表vs使用数据库角色和用户

  1. How can I implement an Access Control List in my Web MVC application?
  2. Database schema for ACL

我发现有趣的是,它必然向我解释如何创造一个良好的ACL实现,我跟着从两种方法这些。我还提到了Korth的Database Concepts,以了解查询优化和性能影响。

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

回答

2

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

区别在于前端,站点管理和数据库管理之间。

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

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

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

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

+0

非常感谢。这有助于:D – WrathOfZombies 2013-05-12 09:13:10

相关问题