关于权限的最新想法 :-)
描述: 权限的分层(从顶向下)
0 系统配置功能
(系统本身功能的开放粒度,取决于开发商)
是站在系统菜单、按钮等控件的显示与隐藏上来进行划分的
1 基于角色的权限
(系统中所定义角色身份,属于0的子集)
是站在系统菜单、按钮等控件的显示与隐藏上来进行划分的
2 基于角色描述的用户级权限
(取决于系统中用户所归属角色的并集,是多个1的并集)
是站在系统菜单、按钮等控件的显示与隐藏上来进行划分的
3 基于数据记录级的权限
基于公共可访问页面,于页面控件级操作权限等同的情况下,数据记录所拥有的权限是不同的
(取决于系统设计时功能上的划分,更多是源于用户所处理的岗位及部门相关)
同一功能以不同的业务身分在不同的角度有着不一样的视角, 对于不同的系统当中处理的方式可能不同,例如有的系统当中是以多个页面方式分开进行处理的, 而有的则是以用户所拥有的业务身分的不同而作为相应的页面数据获取引入参数进行处理的。
对于前者的处理方式实质上可以用上述1的方式进行归并处理,在此不作引深。
对于后者则要求与系统用户的业务身份相挂钩,即用举例的方式可以这样来描述 :用户在不同的部门或者在不同的岗位下所拥有的数据视角以及其控制权限是不同的。注:这里依据前面所述将不再把权限与角色挂钩了,角色实质上是系统里一个用户所拥有的系统菜单级以及页面控件的可视层面的操作权限,而不能划分到数据表的记录级。
4 基于生命周期的权限
是站在系统某处功能 例如项目或者在某一指定时期内,不同的角色或人或者业务部门或岗位所拥有的权限是可以进行管理的。是有时间性的 有生命周期的 可以自动消亡,即自动取消相应的权限 反之同理
是基于上述两类的划分的权限(功能控件块级 以及数据记录级的权限)的多重组合
5 事实上系统中所需要权限: 对于用户来说基于 功能控件级、数据记录级、生命周期级的集合
......
方案:
相关主体对象定义
系统功能(包含功能控件)
系统用户
系统角色
业务身分(部门或者岗位)
生命周期对象(项目)
关系描述
1系统功能 可以划分给不同的系统角色
2系统用户 可以拥有多个系统角色
3系统用户 可以拥有多重业务身分
4系统角色 与业务身分并不是等同的 但是=也并非完全一样的,它们的定义是不一样的, 并无直接的关系
系统角色: 指的是在软件系统当中对软件功能菜单项以及具体页面表单以及其表单内所拥有的控件是否具有可视可操作的权利 的一种身分实体 是系统用户所拥有的属性,对于系统使用用户来说是必须的
业务身分: 指的是在现实世界中所拥有与企业相关的一些身分的描述 同样为企业用户所拥有的属性 是企业用户所必须的 但对于系统使用用户不是必须的
5企业职员 与系统用户之间的关系定义
企业职员凡是要使用软件系统的必须注册成为系统用户方可使用系统,他们之间的主体标识是一样的,即一旦成为系统用户即可认为 该系统用户就是与之同等标识的企业职员
6生命周期对象 可以指业务当中的项目
......
想法:
利用权限的过滤(依权限的级别进行 或者打乱级别关层层过滤)来实现对权限的分配与管理
:-)