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



首先,在你拷问我之前,我想说我花了相当多的时间阅读和研究这个话题。我读过一些关于stackoverflow本身,如

  1. 我如何在我的Web MVC应用程序实现访问控制列表?
  2. ACL的数据库模式
我发现有趣的是,它必然向我解释了如何创建一个好的acl实现,我遵循了这两个方法。我还参考了Korth的Database Concepts来理解查询优化和性能影响。

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

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

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

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

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

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

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

最新更新