1> 问题提出前端
为实现表格数据的横向和纵向受权,如图表格:安全
|
标题1spa |
标题2ci |
标题3资源 |
标题4开发 |
标题5table |
标题6后台 |
行1基础 |
|
|
|
|
|
|
行2软件 |
|
|
|
|
|
|
行3 |
|
|
|
|
|
|
行4 |
|
|
|
|
|
|
横向:有行1至行4四行数据。
纵向:有标题1至标题6 列数据。
在业务系统中,为了数据的安全或对不一样用户采用相关数据查看权限,
如
张三只能查看行1,行2的数据,而且只能查看标题3,标题4,标题5这三列数据,如何实现???
王五只能查看行1,行2的数据,能够看到全部列数据如何实现???
赵六能够查看全部行数据,但只能查看列标题1,标题2 的数据如何实现???
2> 方案描述
(1) 横向维度,即不一样用户能够查看那些行的数据。
a> 通常的管理系统都有组织机构或用户组相关基础数据,业务数据与基础数据有关联,可经过基础数据做为条件来获取当前用户的横向数据。通常业务系统表现为,当前用户只能查看本身本部门或组织的相关数据。
b>无组织机构或用户组时,定义一张数据范围表,用来存储用户主键与业务数据主键和业务数据类型,先设置用户数据范围,在用户查询业务数据时,把数据范围表的相关设置做为查询条件便可实现。
(2) 纵向维度, 即不一样用户能够查看哪些列的数据。
相比横向维度而言,纵向维度的实现复杂度较大(由于后台结果集形式多样,且与业务的关联性较强)。实现数据的过滤不宜过多占用系统资源,采用前端界面列隐藏的方式来处理。首先定义某界面受权显示的列,针对不一样的用户或角色,实现界面显示列的受权。根据用户权限将业务结果集展示在界面上,同时根据界面列受权信息将无权限查看的列自动隐藏。
易智软件,专一跨平台系统开发 www.yizhisoft.cn