我目前正在开发一个小型企业数据库应用程序,我们计划在下一次为其实现多用户访问。如何在行的基础上实现数据库访问控制
数据库主要包含项目(在项目表中),其中包含一些包含附加信息的连接表。
我们的客户关于多用户操作的一个要求是主要基于项目级别(即用户只能访问某些项目)的细粒度访问控制。我想知道如何实现这一点。
什么让情况变得更加困难是数据库访问主要发生在构建所需SQL查询(类似于nhibernate)的自行开发的持久层中。
我能想出的唯一解决方案是在数据库内部实现存取过程的存储过程(或视图读取?)。由于我们的持久层当前依赖于对表的完全访问,这意味着要为每个表实现一个读取视图,一个插入和一个删除命令,并更改持久层以便使用这些命令(而不是构建INSERT/DELETE查询) 。
我不知道是否有不需要改变我们的代码,任何其他解决方案...