关于crm权限管理和用户组的融合方案
由于工作的需要,需要对老系统进行改造,涉及到权限的问题,下面是小弟的一点总结和思考,如有不正确的地方,请予以指正,谢谢!!!!
当前的的crm系统中新融入了“用户组”的概念,融入“用户组”的目的是为了能通过用户组架起人员和权限之间的桥梁。实现人员和权限的间接的多对多的关系。
一、对老系统部分功能合并到新系统的疑问
疑问1:存在“部门表”和“部门字典信息”,同时新融入的“用户组”的概念,这3者肯定有重复。现在系统中用的比较多的是“负责人”选择“用户名”或“负责部门”。其中的部门就是“用户组么”?回归到起点:即“用户组”和”部门”是一个概念么?
疑问2:一个部门或用户组肯定存在“等级”的概念:“经理”和“普通员工”。所以我认为此处的“等级”就是角色的概念。“角色”可能是需要的。
疑问3:用户组表和权限表之间存在关系。那么systemlogin中存在的“User_Right”就不会再起作用了,存在就会矛盾了(暂时存在只是维持老系统不出错),是不是该删除User_Right?
总结:理不清他们的具体的关系,以及他们存在的重复性。
二、个人理解的人员、用户组、权限、角色、菜单之间的关系
说明:
1. 教师A可能属于“语文组”,也可能属于“地理组”。
2.“语文组”肯定会有“语文组组长”和“普通教师”一职,这就是“角色”。其中“语文组组长”可能只有一个人,但是“语文组普通教师”可能有多人:如教师A、教师B。(细粒度控制)。
3.“语文组”有多种权限,“语文组组长”有权限看“教师A”的提交的工作报告,也有权限看“教师B”提交的工作报告,以及批阅报告。“语文组普通教师”只能查看自己的工作报告,和批改学生的作文等操作。(细粒度控制)
总结:权限往往是一个极其复杂的问题,但也可简单表述为这样的逻辑表达式:判断“Who对What(Which)进行How的操作”的逻辑表达式是否为真。
三、设计的原则
粗粒度:表示类别级,即仅考虑对象的类别(the type of object),不考虑对象的某个特定实例。比如,用户管理中,创建、删除,对所有的用户都一视同仁,并不区分操作的具体对象实例。 细粒度:表示实例级,即需要考虑具体对象的实例(the instance of object),当然,细粒度是在考虑粗粒度的对象类别之后才再考虑特定实例。比如,合同管理中,列表、删除,需要区分该合同实例是否为当前用户所创建。
设计原则归结为:“系统只提供粗粒度的权限,细粒度的权限被认为是业务逻辑的职责”。
需要再次强调的是,这里表述的权限系统仅是一个“不完全”的权限系统,即,它不提供所有关于权限的问题的解决方法。它提供一个基础,并解决那些具有“共性”的(或者说粗粒度的)部分。在这个基础之上,根据“业务逻辑”的独特权限需求,编码实现剩余部分(或者说细粒度的)部分,才算完整。回到权限的问题公式,通用的设计仅解决了Who+What+How 的问题,其他的权限问题留给业务逻辑解决。
举例:
人员--------------(所属用户组---角色)--------------对应的权限:说明
人员1-----------(组1-------------组长)---------------权限:批阅该组普通组员的报告。
人员1-----------(组2-------------组员)---------------权限:写报告。查看自己的报告。
人员2-----------(组1-------------组员)---------------权限:写报告。查看自己的报告。
人员3-----------(组1-------------组员)---------------权限:写报告。查看自己的报告。
人员4-----------(组2-------------组长)---------------权限:批阅该组普通组员的报告。
建议表:
人员表、
用户组表、
角色表、
权限表、
人员--组-角色表、
组-角色-权限表。
呵呵,有什么地方考虑的不好,欢迎扔鸡蛋!!!,或是提出意见!!!!
- 大小: 20.1 KB
分享到:
相关推荐
linux用户和用户组相关一、相关概念用户用户组二、相关目录用户相关目录深入理解用户目录作用内容理解shadow 文件的内容包括9个段位UID用户组相关目录深入理解用户组目录作用内容理解GID相关操作用户相关操作创建新...
网上也有人把角色理解为 具有相同功能权限的集合 及 拥有相同权限用户的集合,本人认为略有偏颇,因为如果把角色理解成拥有相同权限用户的集合,那么就很容易混淆角色与岗位、角色与用户组的区别。 另外,用户 ...
4.用户和组的关系 二 用户配置文件概述 1.用户和组相关的配置文件 (1)/etc/passwd文件 系统用户配置文件,是用户管理中最重要的一个文件。这个文件记录了Linux系统中每个用户的一些基本属性,并且对所有用户可读...
直观,因为系统最终会由最终用户来维护,权限分配的直观和容易理解,显得比较重要,系统不辞劳苦的实现了组的继承,除了功能的必须,更主要的就是因为它足够直观。
客户是公司最宝贵的资源,为了更...另包括权限管理模块用于系统的用户、角色和相关权限。系统功能为本说明书与附件Demo版界面描述中功能的并集。在上述文件未明确描述的情况下,应能满足合同和相关投标书所描述的功能。
根据用户角色分配不同的操作权限,保障数据安全。 总的来说,基于SSM框架的师生交流平台不仅提供了一个便捷的教学管理和学习交流工具,也为教育工作者和学生提供了良好的沟通环境。对于开发人员而言,这样的项目也...
9. **多角色权限设置**:区分不同用户角色,如买家、卖家、管理员,赋予相应的操作权限。 通过这个系统,用户能够轻松地在线上发布或寻找二手商品,享受便捷的买卖体验。系统的用户评价和纠纷处理功能有助于构建...
7. **权限控制与协作**:不同角色的用户(如管理员、审题教师、命题教师、学生)有不同的操作权限,实现高效协作。 8. **数据安全与备份**:确保所有题目和用户数据的安全性,并定期进行数据备份。 9. **交互式界面...
5. 用户账户与权限控制:不同用户角色(如学生、厨师、管理员)拥有不同的访问权限,保护系统数据安全。 6. 优惠活动发布:设置特价菜品、套餐组合等营销活动,吸引学生消费。 7. 顾客反馈收集:学生可以对就餐...
熟练掌握数据类型和表的概念 熟练掌握视图的概念 理解存储过程的作用 理解函数的用法 理解约束、规则与默认值等概念 了解排序规则 熟练掌握索引的概念及其作用 理解登录、用户、角色与组等组件及其关系 2) SQL ...