数据权限常见场景有:

  1. 数据仅部门级可见
  2. 数据仅本人可见
  3. 数据仅某角色可见
  4. 在可见的基础上,进行功能控制: 修改,删除
  5. 在树形结构里,在可见基础上进行 新增/修改/删除控制

我的实现方式: 资源---所有者   (请思考哪些可以是资源, 哪些可以是所有者)。 例如:在一个OA应用中的拟办工作,它是所有单证流程的起始点。但不同的流程面,有效的发起人是必须限定的:请假单--全体人员; 收文发文--办公室人员;会议室申请单--项目经理;下面我将实现的是:所有的单证都从属于类别,所有属于“OA单证”,仅“办公室”人员可以拟定。

  1. 确定资源定义位置。  如用户,则用户维护页是该资源的位置,资源的Id就是UserId。 这里进入“表单类别设定页面”。

按住Alt+双击 页面空白处,弹出资源授权页,选择操作为“查看”。实际上,任何拥有“修改”的人,都拥有查看权限,同理: 查看<修改<创建<删除.

2. 为指定资源设置“所有者”。 所有者类型可以有: 部门/人员/工作组/角色组

3. 保存设置。 这样就配置了仅“办公室”“陈伟”能拟定“OA表单”了。

4.现在进入“拟办工作页面”。 此时权限尚未启用。 (哪些点可以进行权限控制? Request—>Service—>Dao—>Db  已及反方向)

5. 在拟办工作页面, 生成树形节点, 查询节点中,加入c.Id 控制。  这就意味着, 输出列表时,会检验每一个“类别”,判断当前用户是否属于授权的“部门/用户/工作组”

6. 用财务部人员登录系统,类别“OA单证”已经消失了。

7.以上Magic仅仅是QueryInfo在提交NHibernate之前的一个小动作,调用AclHQLInjector而已。 目前的触发条件是AclProperty。 对于大量数据权限定义的情况, 完全可以将Inject条件在数据库中定义。 QueryInfo默认触发检验即可。

8. 最后可见 数据权限设置表 的简单结构:

来源:http://www.cnblogs.com/crabo/archive/2010/09/10/1823529.html

转载于:https://www.cnblogs.com/guangrou/archive/2010/09/13/1825152.html

B/S页面通用数据权限控制[转]相关推荐

  1. 天鸟技术中台-建设过程-日常经验2:通用参数和数据权限控制

    技术中台,服务于 无数个 独立的项目. 每个项目,单独对应1个App和appId. 查询和创建等接口,必须提供appId,区分是哪个app的数据. 而技术中台的平台管理端,是管理所有的数据,appId ...

  2. 实现权限控制_SpringCloud 微服务实现数据权限控制

    前章讲了如何进行用户权限验证<SpringCloud下的用户鉴权方案>,它是微服务下统一资源访问权限的控制,就像一道墙保护着SpringCloud集群下的各个业务应用服务.而本章要讲的是权 ...

  3. 基于SpringAOP实现数据权限控制

    基于SpringAOP实现数据权限控制 在此主要是实现对用户查询数据返回字段的控制.比如一个表格有A,B,C,D,E五列,用户U1只能查看A,B,C三列. 此文章讲述的内容并不能实现在查询时仅查询A, ...

  4. java 数据权限_通用数据权限的思考与设计

    1.数据权限概述 1.1.什么是数据权限? 如果想学习Java工程化.高性能及分布式.深入浅出.微服务.Spring,MyBatis,Netty源码分析的朋友可以加我的Java高级交流:7877071 ...

  5. 实现数据权限控制的一种方法

    在企业管理系统中,常常有这样的要求:  1. 用户一般只能查看自己部门的数据  2. 可以设置用户可以查看哪些部门的数据  这种权限的控制,一般称为数据权限,与之对应的功能权限,则是系统中哪些功能可以 ...

  6. java 数据 权限_Java如何利用Mybatis进行数据权限控制详解

    前言 权限控制主要分为两块,认证(Authentication)与授权(Authorization).认证之后确认了身份正确,业务系统就会进行授权,现在业界比较流行的模型就是RBAC(Role-Bas ...

  7. Java利用Mybatis进行数据权限控制

    权限控制主要分为两块,认证(Authentication)与授权(Authorization).认证之后确认了身份正确,业务系统就会进行授权,现在业界比较流行的模型就是RBAC(Role-Based ...

  8. 后台管理系统2——数据权限控制

    文章目录 1 数据权限控制 1.1数据库的修改 1.2 后端代码的修改 1.3 前端代码的修改 1.4 Aside组件的修改 1 数据权限控制 通过不同的身份进行实现不同的功能. 1.1数据库的修改 ...

  9. PowerBI Report Server 集成,自定义身份验证,数据权限控制

    AD认证的集成模式 AD(或者Windows)认证是PBI的默认认证方式.在这种方式下,需要第三方应用也采用了AD的认证方式才可以正常的和PBI RS做集成.注意,这种方式要求第三方系统采用了AD的认 ...

最新文章

  1. NeurIPS 2020 | 清华大学提出:通用、高效的神经网络自适应推理框架
  2. ios 边录音边放_关于Android和iOS系统OneNote支持边录音边记笔记的需求和建议
  3. FreeBSD 8.3 发布
  4. struts2源码分析-初始化流程
  5. 文件夹复制命令 linux,linux拷贝文件夹命令
  6. android9 三星 港版,三星S9+官方港版安卓9完整固件系统升级包:TGY-G9650ZHU5CSFB
  7. 车载ECU软件刷新flash driver制作
  8. 骆昊python100天百度云_GitHub - Luffy-cc/Python-100-Days: Python - 100天从新手到大师
  9. ThinkPad电脑黑屏只显示鼠标
  10. 专业工作站与高级PC区别及品牌机对比
  11. java编写md5加密解密算法
  12. 为什么使用 XML?
  13. OPENMV和STM32的识别追踪小车(详细版)之OPENMV端
  14. 计算机毕业设计会议室预约管理系统小程序【springboot+uniapp】代码讲解安装调试
  15. python爬虫小说下载到txt文档_python 爬取网络小说 清洗 并下载至txt文件
  16. 2022年FIT2CLOUD飞致云开源成绩单
  17. DirectX 修复工具增强版
  18. QRCode 二维码:生于日本,辉煌于中国,原理及(python)实现
  19. 客户心声|腾讯云数据库助力国信证券反洗钱系统分布式改造
  20. 糖尿病的管理系统java_java糖尿病健康档案信息网站

热门文章

  1. 【漫画】AI小猪的一生---阿里云ET农业大脑如何与特驱集团养出“200公里猪”
  2. 具体解释http 协议
  3. bat执行java程序的脚本解析
  4. python 赋值操作的知识点
  5. 编译C#和C++共存的解决方案的小结
  6. 项目管理中的流程管理
  7. python throw error_Python实用笔记——错误处理
  8. Linux切换slave,热备服务器中,切换master中切换SQL
  9. 手机可用熵_时间之矢,生命之熵
  10. 国庆快乐,送3本Python书