zoukankan      html  css  js  c++  java
  • 通用数据授权方案

    1>     问题提出

    为实现表格数据的横向和纵向授权,如图表格:

    标题1

    标题2

    标题3

    标题4

    标题5

    标题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

  • 相关阅读:
    比较对象的相对性
    深拷贝与浅拷贝(TBD)
    创建UI的线程才能访问UI,那么怎样才算访问UI呢
    多层级的数据绑定效果
    众所周知,static修饰的成员只实例化一次,而string类型每次赋值都会重新创建一个实例,那么用static修饰string呢?
    常量、只读字段
    使用dos打开相关软件
    查看电脑硬件信息dos命令
    Windows常用快捷键
    使用外部编辑器出现乱码
  • 原文地址:https://www.cnblogs.com/lhxsoft/p/5577635.html
Copyright © 2011-2022 走看看