2

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

  1. 如何在我的 Web MVC 应用程序中实现访问控制列表?
  2. ACL 的数据库架构

我发现有趣的是,它必然向我解释了如何创建一个好的 acl 实现,并且我遵循了这两种方法。我还参考了 Korth 的 Database Concepts 来了解查询优化和性能影响。

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

4

1 回答 1

4

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

区别在于前端、站点管理和数据库管理。

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

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

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

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

于 2013-05-12T07:43:08.300 回答