系统用户权限设置问题

问题描述

本人对系统权限设置这一块不是很有经验,现在项目中遇到了一点问题,想寻找一些建议和解决方法。现有的系统中,权限管理采用的是用户,角色,权限,权限中给角色分配了系统的菜单,然后不同的用户分配不同的角色,这样可以保证不同的用户访问不同的功能菜单,这个是可以做到的,但是现在遇到了一个问题:系统中多个企业,企业下有人员、终端等信息需要管理,不同的企业有不同的企业代码和账号,比如A企业代码为01,账号为admin01,B企业代码为02,账号admin02,我在用A企业的账号登录时如何保证系统中只显示A企业相关的人员和终端信息,如何保证将企业B的信息过滤掉呢??目前我能想到的方式就是在每种信息进行查询时都加一个企业代码的查询,比如是企业A登陆,那么,进入系统后,所有的信息查询和显示都需要加一个01代码的where条件查询来保证只显示企业A的信息。我觉得这种方式很麻烦,应该是有其他的方式来实现的,只是自己开发经验不足,想不到好的方式,希望能找到比较有效的解决方案,多谢!

解决方案

解决方案二:
不是几句话可以说清楚,这个和权限也没有关系google多租户架构设计
解决方案三:
引用1楼caozhy的回复:

不是几句话可以说清楚,这个和权限也没有关系google多租户架构设计

多谢提供思路
解决方案四:
数据库里是如何区别a企业和b企业的数据的?最直接有效的方法就是在where的时候加上条件至于在什么时候加是个问题...需要好好规划下
解决方案五:
引用3楼laiyongxin的回复:

数据库里是如何区别a企业和b企业的数据的?最直接有效的方法就是在where的时候加上条件至于在什么时候加是个问题...需要好好规划下

其实企业A和企业B的数据是根据企业编码来标识的,我也只能想到这个方法,但是觉得这个确实很繁琐。刚才看了一下多租户架构,发现有独立的数据库进行存储,感觉对现有的系统改变有很大
解决方案六:
顶起,继续求方案
解决方案七:
最好的方案还是需要你自己去权衡程序中处理是成本最小的独立数据库是隔离级别最高的方式,成本比较高还有一种折衷的方式,就是共享数据库,但是不共享数据架构。数据架构和用户是相互独立的,架构是数据对象的命名容器,一个用户可以拥有多种架构(像通用的权限可以设置成共享架构),这种方式需要对数据库的设计非常熟悉
解决方案八:
再怎么区分关系表上最小颗粒永远是用户和权限用户上的角色企业,权限上的权限包都不要去考虑
解决方案九:
我觉得你有点概念不清什么叫A企业的账号,B企业的账号?一个账号应该对应一个用户,而不是一个企业还有,你应该引入用户组的概念给用户组添加用户,再给用户组分配权限而不是每添加一个用户都要重新分配一次权限
解决方案十:
引用7楼baxi52的回复:

再怎么区分关系表上最小颗粒永远是用户和权限用户上的角色企业,权限上的权限包都不要去考虑

您好,能说详细点吗,理解起来不是很清晰
解决方案十一:
引用8楼Z65443344的回复:

我觉得你有点概念不清什么叫A企业的账号,B企业的账号?一个账号应该对应一个用户,而不是一个企业还有,你应该引入用户组的概念给用户组添加用户,再给用户组分配权限而不是每添加一个用户都要重新分配一次权限

您好,您说的也是对的,我这里指的A企业的账号对应的就是一个用户,指代的就是一个企业用户,这个企业用户进去后所有的数据就应该是该企业的数据,而不该另外一个企业的数据,就是需要这样的一个信息过滤的过程。

时间: 2024-09-29 09:42:37

系统用户权限设置问题的相关文章

用户权限设置的思路,请大家给点意见,谢谢

问题描述 用户权限设置:前情提要:新闻页面:浏览(0/1).添加(0/1).编辑(0/1).删除(0/1)0:表示无权限1:表示有权限将这些信息记录在一个表里面当用户访问新闻页面的时候,如果有相关的权限,则显示相应的操作选项if(添加=1){显示添加操作}问题:在判断的权限的时候,每次都得从数据库中读取记录,这样的操作,会不会太平凡了.以上是我的思路,不知道对不对呢?大家平时都是怎么做的呢? 解决方案 解决方案二:自已顶一下解决方案三:多想想windows是怎么管理用户权限的.用户->组组->

Win9X注册表内的安全和用户权限设置_注册表

我是玩机的狂热一族,喜欢有事无事的在系统中折腾,我发现Win9X的注册表中保存了许多重要的系统信息,Windows中有关安全和用户权限设置也在其中.于是我深入注册表中,经过一段时间的摸索后,找出了Win9X注册表中有关安全和用户权限的设置的一些要点,我现在告诉大家,目的是想让大家对注册表和Win 9X系统的安全性有更深入的认识,使大家可以更好地维护系统安全. 一.限制控制面板1. 打开注册表 中的主键[HKEY_USERS\"用户名"\Software\Microsoft\Window

IIS6.0 用户权限设置问题

问题描述 IIS6.0 用户权限设置问题 刚刚我用IIS6.0新建一个站点,访问网站时出现了要输入密码才可以访问,请问一下应该怎么解决 解决方案 还有运行网站的用户也要加上web目录的访问权限,不单单是程序池的,网站和程序池默认不是同一用户 程序池默认是IWAM_开头用户 网站默认是IUSR_开头用户 解决方案二: 点对应的web应用的文件夹,选择属性-安全,给everyone完全权限.

Linux下SFTP用户权限设置条件及实现命令_Linux

众所周知SFTP账号是基于SSH账号的,所以在默认情况下访问服务器的权限是非常大的,今天的教程就是教大家进行SFTP用户权限设置. 必要条件: 你的openssh-server版本至少得失4.8p1, 因为配置权限需要版本添加的新配置项ChrootDirectory来完成. 如何查看自己服务器上的ssh版本?大家可以尝试以下命令: $ ssh -V 具体实施步骤: 1. 我们需要创建一个用户组,专门用于sftp用户 $ groupadd sftpusers 2. 我们创建一个用户test $ u

ASP.NET系统用户权限设计与实现

摘 要 本文依据RBAC的基本思想,利用ASP.NET中的用户控件技术,设计了在电子商务系统中用户权限控制的一种具体实现方法. 关键词 ASP.NET 角色访问控制 用户控件 引言 电子商务系统对安全问题有较高的要求,传统的访问控制方法DAC(Discretionary Access Control,自主访问控制模型).MAC(Mandatory Access Control,强制访问控制模型)难以满足复杂的企业环境需求.因此,NIST(National Institute of Standar

sql server 2005用户权限设置深入分析_mssql2005

关于什么是用户权限,最简单的定义可能是,"用户能做什么和不能做什么."在这里,简单的定义就相当不错了. 用户的权限分为3类: l 登录的权限: l 访问特定数据库的权限: l 在数据库中具体的对象上执行特定操作的权限. 既然我们已经看过了创建登录账户,这里将把重点放在登录账户能够拥有的特定权限上. 22.3.1 授予访问特定数据库的权限 如果想要一个用户可以访问数据库,你需要做的第一件事情是授予用户访问那个数据库的权限.可以在Management Studio中,通过把用户加入到服务器

Rushcrm:如何利用CRM系统的权限设置

本期介绍的是Rushcrm的CRM系统的用户管理,上期介绍的是CRM系统的用户管理,后续咨讯可以点击超链接CRM资讯进行查阅. 本文是以Rushcrm的客户关系管理系统(CRM)为操作例子. 登陆Rushcrm的CRM系统(云服务)操作平台后,在平台的右上方处找到一个蓝色齿轮状图标,将鼠标移动到蓝色齿轮状图标上,就会显示CRM设置的框框,然后点击CRM设置就进入了用户管理页面了. 进入用户管理界面后,可以看到RUSHCRM的CRM系统里的用户管理页面下有用户.职位.权限.项目组.共享规则.字段权

学生机登录用户权限设置

随着计算机硬件价格的大幅下降,多数机房都采用了高性能的微机,操作系统也由原来的Windows98升级到了 Windows XP.为了实际教学工作,微机室的微机都安装了相应的多媒体教学软件(如苏亚星.深蓝易思等).这样,老师在上课时就能够及时掌控学生的学习情况.但有的学生为了在课堂做一些与课程无关的活动(如打游戏),他们会想办法脱离教师机地控制,他们通常是使本地机器的学生端程序停止下来.由于中止这些进程的方法有很多,所以要解决这个问题就要从登录用户权限入手,不给学生登录用户以中止进程的权限. 另外

IIS6.0的默认权限和用户权限设置小结_win服务器

NTFS 权限 目录 用户\组 权限 %windir%\help\iishelp\common Administrators 完全控制 %windir%\help\iishelp\common System 完全控制 %windir%\help\iishelp\common IIS_WPG 读取.执行 %windir%\help\iishelp\common Users(请参见"注意 1".) 读取.执行 %windir%\IIS Temporary Compressed Files