系统用户权限设置问题

jiangting1986 2014-09-03 05:46:52
本人对系统权限设置这一块不是很有经验,现在项目中遇到了一点问题,想寻找一些建议和解决方法。

现有的系统中,权限管理采用的是用户,角色,权限,权限中给角色分配了系统的菜单,然后不同的用户分配不同的角色,这样可以保证不同的用户访问不同的功能菜单,这个是可以做到的,但是现在遇到了一个问题:

系统中多个企业,企业下有人员、终端等信息需要管理,不同的企业有不同的企业代码和账号,比如A企业代码为01,账号为admin01,B企业代码为02,账号admin02,
我在用A企业的账号登录时如何保证系统中只显示A企业相关的人员和终端信息,如何保证将企业B的信息过滤掉呢??

目前我能想到的方式就是在每种信息进行查询时都加一个企业代码的查询,比如是企业A登陆,那么,进入系统后,所有的信息查询和显示都需要加一个01代码的where条件查询来保证只显示企业A的信息。

我觉得这种方式很麻烦,应该是有其他的方式来实现的,只是自己开发经验不足,想不到好的方式,希望能找到比较有效的解决方案,多谢!
...全文
199 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
最好的方案还是需要你自己去权衡 程序中处理是成本最小的 独立数据库是隔离级别最高的方式,成本比较高 还有一种折衷的方式,就是共享数据库,但是不共享数据架构。数据架构和用户是相互独立 的,架构是数据对象的命名容器,一个用户可以拥有多种架构(像通用的权限可以设置成共享架构),这种方式需要对数据库的设计非常熟悉
jiangting1986 2014-09-09
  • 打赏
  • 举报
回复
顶起,继续求方案
jiangting1986 2014-09-09
  • 打赏
  • 举报
回复
引用 8 楼 Z65443344 的回复:
我觉得你有点概念不清 什么叫A企业的账号,B企业的账号? 一个账号应该对应一个用户,而不是一个企业 还有,你应该引入用户组的概念 给用户组添加用户,再给用户组分配权限 而不是每添加一个用户都要重新分配一次权限
您好,您说的也是对的,我这里指的A企业的账号对应的就是一个用户,指代的就是一个企业用户,这个企业用户进去后所有的数据就应该是该企业的数据,而不该另外一个企业的数据,就是需要这样的一个信息过滤的过程。
jiangting1986 2014-09-09
  • 打赏
  • 举报
回复
引用 7 楼 baxi52 的回复:
再怎么区分 关系表上 最小颗粒永远是 用户 和 权限 用户上的 角色 企业,权限上的权限包都不要去考虑
您好,能说详细点吗,理解起来不是很清晰
於黾 2014-09-09
  • 打赏
  • 举报
回复
我觉得你有点概念不清 什么叫A企业的账号,B企业的账号? 一个账号应该对应一个用户,而不是一个企业 还有,你应该引入用户组的概念 给用户组添加用户,再给用户组分配权限 而不是每添加一个用户都要重新分配一次权限
baxi52 2014-09-09
  • 打赏
  • 举报
回复
再怎么区分 关系表上 最小颗粒永远是 用户 和 权限 用户上的 角色 企业,权限上的权限包都不要去考虑
jiangting1986 2014-09-04
  • 打赏
  • 举报
回复
引用 3 楼 laiyongxin 的回复:
数据库里是如何区别 a企业和b企业的数据的? 最直接有效的方法就是在where的时候加上条件 至于在什么时候加是个问题...需要好好规划下
其实企业A和企业B的数据是根据企业编码来标识的,我也只能想到这个方法,但是觉得这个确实很繁琐。 刚才看了一下多租户架构,发现有独立的数据库进行存储,感觉对现有的系统改变有很大
lyx266 2014-09-04
  • 打赏
  • 举报
回复
数据库里是如何区别 a企业和b企业的数据的? 最直接有效的方法就是在where的时候加上条件 至于在什么时候加是个问题...需要好好规划下
jiangting1986 2014-09-04
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
不是几句话可以说清楚,这个和权限也没有关系 google 多租户架构设计
多谢提供思路
threenewbee 2014-09-03
  • 打赏
  • 举报
回复
不是几句话可以说清楚,这个和权限也没有关系 google 多租户架构设计

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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