访问控制问题,大家进来讨论一下

DB_Jackaroo 2006-10-25 09:58:23
我现在要做一个管理人员的软件,访问控制是用户、角色和访问的数据
用户和角色之间是多对多的关系,角色对应访问的数据
访问数据的控制是根据人的两个属性。
现在我存在疑惑的地方是如果在数据库表里存储访问控制数据,那么就是角色*属性A*属性B 这是个在10w左右的数量,而我们访问数据时,是将所有的sql拼接成一个长串,然后访问数据库,那么在这里浪费了很多访问数据库的时间。


大家讨论或是给点意见,有什么更好的方法解决这个问题。
...全文
113 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ji_vicky 2006-10-25
  • 打赏
  • 举报
回复
视图吧
aafshzj 2006-10-25
  • 打赏
  • 举报
回复
呵呵,AAF很好地解决了这种问题。我的blog里有摘要,但文章还没展开。

基本思路是:
1)普通的类似权限应该在应用逻辑层面考虑这件事情,否则数据库负担太重,而且应用层面考虑这件事情,整体性能也更好。

2)只有当数据很多,而其你希望在数据列表页面就精确地控制谁能看谁不能看,而且必须准确反映所有可看数据的数量时,那可以直接控制每条数据或者数据种类或者二者结合。当个别条目需要屏蔽某些人时仍然可以通过应用层逻辑在界面屏蔽。一页少几条数据影响不大的。
xiaohutushen 2006-10-25
  • 打赏
  • 举报
回复
视图也是一种方法

或者你可以写一个存储过程,把条件当成参数
DB_Jackaroo 2006-10-25
  • 打赏
  • 举报
回复
大家有什么更好的办法解决问题吗?
DB_Jackaroo 2006-10-25
  • 打赏
  • 举报
回复
当然利用视图是其中一个方案
aafshzj 2006-10-25
  • 打赏
  • 举报
回复
用视图的话,数据量大的时候根本吃不消。

要在逻辑和结构上多花点心思。
DB_Jackaroo 2006-10-25
  • 打赏
  • 举报
回复
www.chinalivedoor.com

欢迎大家进来给小弟捧捧场。
marvelstack 2006-10-25
  • 打赏
  • 举报
回复
我现在要做一个管理人员的软件,访问控制是用户、角色和访问的数据
用户和角色之间是多对多的关系,角色对应访问的数据
访问数据的控制是根据人的两个属性。
====================
个人认为你这里应该再增加一个权限的概念,比如一些数据由读取的权限,令一些有编辑的权限。
而这些权限授予不同的角色。

用户 -〉角色 -> 权限

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧