当技术玩得及格了后,也难以突破时,我们所关心的事情会转向业务知识,没有过硬的业务知识就难与客户沟通、难以拿下大合同,难以竞标取胜。
我们的客户通常会有一些实际问题,这些问题又往往比我们在设计时考虑的问题要更加复杂一些,当然也可以用一个人多账号的方式解决一人多职问题,但是那样实现的在实际工作上用起来难免有些不方便,虽然问题被简化了,但是无法根治问题。
先看一下数据库设计如下:用户账户表,保存了默认的公司部门信息,用户账户组织关系表,保存了,多职的兼任情况、其中强调了所担任的角色职务情况,当然还需要补充的,可以另加。
下图是 组织机构、部门表,是一个树形结构。
相应的管理配置界面如下参考:
一人多职问题又会影响到整个系统的如下环节
1:选人组件,选人、列表中的数据会发生一些变化。
2:哪个部门、公司、组织有哪些人的算法需要发生变化。
3:哪个角色有哪些人?哪些人在哪个角色?的算法会发生变化。
4:以组织机构为基础的数据集权限过滤函数需要发生变化,算法需要更新。
虽然表面上变化不是很大,但是会牵扯到很多其他相关页面、功能函数的变化,这些变化又可能会引起一定的不稳定因素,还要经过一段时间的严格测试实际使用过后,才会渐渐的沉淀下来,成为稳定可靠的良好软件组件。
将权限管理、工作流管理做到我能力的极致,一个人只能做好那么很少的几件事情。
posted on 2010-10-04 13:00 吉日嘎拉 不仅权通用权限 阅读(1763) 评论(8) 编辑 收藏
评论
1929034#2楼 回复 引用 查看
如果“只是想表达”某个人的n多职位,也可以只用一个整数来换算,你可不要说有上百个职位啊,哈哈!#3楼 回复 引用 查看
学学设计数据库.....乖乖,这方面比较菜
#4楼 回复 引用 查看
权限管理方面我多半用,系统账号 + 组织 的方式系统账号[一个]:admin.
组织[多个]:沈阳总公司、大连分公司
组织.角色[多个]:系统管理员、xx流程节点审批权限、xx编辑权限(其实程序多半用这个)
组织.部门[多个]:技术部、管理部
组织.虚拟部门[多个]:如某某项目开发组
组织.职务[多个]:硬件管理、软件管理
每个人,可以有多个组织;在每个组织下还可以有多个角色与权限
部门、职务、两个多半没啥用都是打印显示用的、因为软件系统中职务,部门、职务 有些时候根本无法用来做权限
多半情况,角色 + 组织 就可以搞定权限了;
特殊情况:如一个报销审批权限,必然是 流程启动的组织和部门 + 具有审批角色的人,当前组织部门是流程启动时的一个变量
虚拟部门,有些时候如软件项目、工程项目时很容易遇到!3-5个人成一个小组,包括吃饭,打车等都是由当前,项目组长签字,这种时候虚拟部门就有效了!处理方法同上
吉日兄可以考虑用 ldap 形式的某种数据库(如AD,openLdap)来做组织机构、权限、菜单等管理哦!
#5楼[楼主] 回复 引用 查看
@曲滨*銘龘鶽从留言的犀利程度,思路的严谨程度,鉴定是一名高手,值得向你学习。
#6楼 回复 引用 查看
相当的有水平。#7楼 回复 引用 查看
说实话,看不懂#8楼 回复 引用
@finallyliuyu工作几年后,可能能看懂了