Code Monkey home page Code Monkey logo

zelin_permission's Introduction

权限优化

使用方法

先决条件

进入 bench 工作台目录;

1.新安装 1.1、获取对应版本APP

bench get-app https://gitee.com/yuzelin/zelin_permission.git

1.2、安装APP(有多个站点且未设默认站点的请加--site参数)

bench install-app zelin_permission

升级 2.1、bench update 命令(如果不加--pull参数则站点上所有app都会更新)

bench update --apps zelin_permission --pull --reset (如果变更涉及数据库表结构变更,需运行这个命令) bench migrate

2.2 重新编译JS等资源文件

bench build --app zelin_permission --force

卸载 3.1 从站点卸载

bench uninstall-app zelin_permission

3.2 从整个bench环境卸载,移除整个应用目录

bench remove-app zelin_permission

欢迎提交问题和反馈建议。

附功能说明

  1. 报表数据脱敏,即仅限特别授权用户显示敏感信息,如只有财务及管理人员才能看到库存报表的成本、金额信息, 普通用户仅显示数量信息

    1.1 实现原理:覆盖标准报表取数函数,剔除栏位清单中用户未授权栏位及数据中未授权栏位内容

    1.2 使用方法 1.2.1 新增受控报表栏位定义(栏位集合), 1.2.1.1 填写适用的报表,可填多个报表(多个报表敏感栏位相同),如果该栏位留空,则适用所有报表 1.2.1.2 填写受控栏位清单,栏位值支持报表栏位名,中/英文标签 1.2.2 新增受控报表栏位分派(授权) 1.2.2.1 填写受控报表栏位定义,关联定义的受控栏位清单 1.2.2.2 填写报表字段,可填多个报表(多个报表敏感栏位相同),如果该栏位留空,则适用所有报表 1.2.2.3 填写用户角色字段,可以填多个角色

  2. 针对报表界面右上角的添加列(关联单据字段), 2.1 增加栏位权限级别检查,无权限则返回空值 2.2.传入主键值清单参数,避免查询并返回整个数据表数据,影响性能

  3. 增加用户权限过滤,剔除用户无权限单据 3.1 实现原理:覆盖标准报表取数函数,移除用户无权限的数据行

    3.2 使用方式 3.2.1 新增待增加权限检查的报表及单据栏位(支持动态链接栏位与链接栏位)

  4. 列表,表单及报表界面菜单按钮根据用户角色隐藏 4.1 原理 在网页创建按钮方法中增加权限检查代码,用户无权限则不新增按钮

    4.2 使用方式 4.2.1 新增按钮权限检查,在表单界面,如果用户没有权限,则不再显示相关菜单按钮 支持全局按钮,即单据类型子表留空 支持单据级的按钮,输入具体的单据类型

         按钮标签填英文,大部分情况下,按钮标签与权限检查单据类型是一样的,如Purchase Order.
         代码会自动处理英文翻译,确保用户在中英文环境下未授权按钮均能隐藏
    
  5. 强制4眼原则 5.1 同一个单据创建人与提交人不能相同 5.2 受控流程关联的上下游单据提交人不能相同

  6. 权限最近一次出错详细日志,方便管理员进行查错处理

License

MIT

zelin_permission's People

Contributors

saoxia avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.