用户角色授权【系统管理】-【角色管理】-授权 点击菜单访问页面展示Hello World!
禁用控制用法二
一、用法
(1)页面引入工具js
import { disabledAuthFilter } from "@/utils/authFilter"
(2)methods方法中实现:
isDisabledAuth(code){
return disabledAuthFilter(code);
},
(2)权限控制代码示例:
二、权限配置:
三、使用说明
:disabled="isDisabledAuth('name')"
调用方法disabledAuth,方法参数“name”为授权标识,该方法根据授权规则返回true/false,控制是否禁用四、流程节点权限
(1)说明:
节点权限是通过 props: ['formData'],来传递给节点表单页面的,因此页面一定要定义这个,否则,节点配置的权限不生效,节点表单开发方法见【流程节点对接表单页面开发方法】
权限配置无效状态时,则不进行权限控制,有效状态时进行控制
isDisabledAuth(code){
return disabledAuthFilter(code,this.formData);
},
(2)权限配置: 在【流程管理-流程设计】中找到需要配置的流程,进入【流程配置-流程节点】选择需要进行权限控制的节点, 点击【更多-权限设置】,新增/编辑 来配置权限。
页面按钮权限用法
1.前端页面通过使用指令 v-has
添加用户
1.后台请求权限控制,通过Shiro注解 @RequiresPermissions
@RequestMapping(value = "/add", method = RequestMethod.POST)
@RequiresPermissions("user:add")
public Result add(@RequestBody JSONObject jsonObject) {
2.后台进入菜单管理页面配置访问权限标识(选择按钮类型) (配置方式与按钮权限一样,即同一个授权标识,可以同时控制后台请求和前台按钮显示控制)
列表数据权限,主要通过数据权限控制行数据,让不同的人有不同的查看数据规则; 比如: 销售人员只能看自己的数据;销售经理可以看所有下级销售人员的数据;财务只看金额大于5000的数据等等;
序号 | 类型 | 规则字段区别 | 说明 |
---|---|---|---|
1 | 编码方式 | 规则字段是驼峰写法,对应mybatis实体的字段 | 编码模式(通过代码生成器生成代码) |
2 | Online方式 | 规则字段是下划线写法,对应表的字段 | Online模式(在线表单模式,无代码) |
规则字段配置说明(非常重要):
①条件规则:大于/大于等于/小于/小于等于/等于/包含/模糊/不等于
②规则值:指定值 ( 固定值/系统上下文变量 )
1.当前用户上下文变量
注意:数据权限配置,规则值可以填写系统上下文变量(当前登录人信息),从而根据当前登录人信息进行权限控制。
编码 | 描述 |
---|---|
sys_user_code | 当前登录用户登录账号 |
sys_user_name | 当前登录用户真实名称 |
sys_date | 当前系统日期 |
sys_time | 当前系统时间 |
sys_org_code | 当前登录用户部门编号 |
sysMultiOrgCode | 当前登录用户拥有的所有机构编码,逗号分隔 |
规则值,配置写法如下:#{sys_user_code}
2.建表规范(系统标准字段)
如果需要通过当前登录人,进行数据权限控制,则业务表必须有以下系统标准字段;数据添加和编辑,jeecg会通过拦截器自动注入操作人的信息。 比如:创建人,创建时间,创建人所属部门、创建人所属公司,有了这些标准字段,就可以通过当前登录人进行数据隔离控制;
字段英文名 | 字段中文名 |
---|---|
CREATE_BY | 系统用户登录账号 |
CREATE_NAME | 系统用户真实名字 |
SYS_ORG_CODE | 登录用户所属部门 |
3.组织机构邮编规则
JEECG组织机构支持无限层级,上下级关系通过组织机构编码实现,组织机构编码规则类似邮编方式,看下图; 邮编规则优势: 邮编规则,上下级编码固定规律,便于定位下级和上级;
1、功能说明
列表数据权限,主要通过数据权限控制行数据,让不同的人有不同的查看数据规则; 比如: 销售人员只能看自己的数据;销售经理可以看所有下级销售人员的数据;财务只看金额大于5000的数据等等;
2、使用说明 (有两种使用方法,以下说明以用户管理列表查询示例 配置数据规则:只查询用户账号带1的用户)
方法A步骤如下:
@PermissionData
在方法上加注解是为了提高系统运行效率,这样就可以指定请求走权限过滤的逻辑,而非一棍子打死,让所有请求都去筛选一下权限(如下图) 方法A的问题在于,每个请求都需要配置一个权限菜单,这样其实也很费劲,同时对于菜单管理也不是很好,鉴于此可以考虑使用方法B 方法B基于注解属性pageComponent,步骤如下:
@PermissionData(pageComponent="system/UserList")
pageComponent的值和B-1中菜单的前端组件值保持一致规则字段配置说明(非常重要):
①条件规则:大于/大于等于/小于/小于等于/等于/包含/模糊/不等于/自定义SQL
②规则值:指定值 ( 固定值/系统上下文变量 )
3、数据权限规范说明
1.系统上下文变量
注意:数据权限配置,规则值可以填写系统上下文变量(当前登录人信息),从而根据当前登录人信息进行权限控制。
编码 | 描述 |
---|---|
sys_user_code | 当前登录用户登录账号 |
sys_user_name | 当前登录用户真实名称 |
sys_date | 当前系统日期 |
sys_time | 当前系统时间 |
sys_org_code | 当前登录用户部门编号 |
规则值,配置写法如下:#{sys_user_code}
2.建表规范(系统标准字段)
如果需要通过当前登录人,进行数据权限控制,则业务表必须有以下系统标准字段;数据添加和编辑,jeecg会通过拦截器自动注入操作人的信息。 比如:创建人,创建时间,创建人所属部门、创建人所属公司,有了这些标准字段,就可以通过当前登录人进行数据隔离控制;
字段英文名 | 字段中文名 |
---|---|
CREATE_BY | 系统用户登录账号 |
CREATE_NAME | 系统用户真实名字 |
SYS_ORG_CODE | 登录用户所属部门 |
3.组织机构邮编规则
JEECG组织机构支持无限层级,上下级关系通过组织机构编码实现,组织机构编码规则类似邮编方式,看下图; 邮编规则优势: 邮编规则,上下级编码固定规律,便于定位下级和上级;