# 功能权限
# 功能权限开发参考
自定义功能码、功能权限。
# 后端接口功能码绑定
注:功能码操作前提——后端项目引入afcenter的SDK依赖
后端controller中接口方法名绑定功能码,如下:
1.controller类上添加SDK中提供类绑定功能码注解@ClassBoundFunctions。
2.在注解@ClassBoundFunctions中使用注解@BoundFunctions去绑定具体接口方法。
3.注解@BoundFunctions的methods参数的值就是需要绑定接口方法名,function参数值使用注解@BoundFunction处理自定义功能码常量。
操作说明
# 后端创建功能码切面扫描配置类
1.创建切面扫描配置类ProFunctionPermissionAspect继承SDK提供的功能码检验类AbstractFunctionCheckAspect。
2.切入点配置拦截方法与无需拦截方法路径。
@Aspect
@Component
public class ProFunctionPermissionAspect extends AbstractFunctionCheckAspect {
@Autowired
private BoundeFunctionScanner scanner;
@Pointcut("!execution(public * com.primeton.gocom.project.impl.controller.*.find*(..))" // 不拦截以 find 开头的方法
+ " && !execution(public * com.primeton.gocom.project.impl.controller.*.get*(..))" // 不拦截以 get 开头的方法
+ " && !execution(public * com.primeton.gocom.project.impl.controller.*.query*(..))" // 不拦截以 query开头的方法
+ " && !execution(public * com.primeton.gocom.project.impl.controller.*.paging*(..))" // 不拦截以 paging 开头的方法
+ " && !execution(public * com.primeton.gocom.project.impl.controller.*.list*(..))" // 不拦截以 list 开头的方法
+ " && execution(public * com.primeton.gocom.project.impl.controller.*.*(..))") // 拦截其它public的方法
public void controllerPointCut() {}
@Before("controllerPointCut()")
private void check(JoinPoint joinPoint) {
super.checkPermissions(joinPoint, scanner);
}
}
# 前端功能码绑定
1.定义功能码
需要先在base\src\permission\FuncCode.js文件中定义;是为了对后端功能码进行转换,因为前端不支持解析‘-’变量
export default {
// button permission
// 租户管理
afc_f_tenant_query: 'afc-f-tenant-query', // 查询租户列表
afc_f_tenant_add: 'afc-f-tenant-add', //新增租户
afc_f_tenant_edit: 'afc-f-tenant-edit', // 修改租户
afc_f_tenant_disable: 'afc-f-tenant-disable', // 禁用租户
afc_f_tenant_enable: 'afc-f-tenant-enable', // 启用租户
}
2.使用功能码
在按钮上绑定功能码。例如:v-permission="FuncCode.功能码";前端需要混入BaseVue
<PmToolbar class="ml-5 ">
<PmToolbarItem plain v-permission="FuncCode.afc_f_app_add" icon="el-icon-plus" @click="openAdd">新建应用</PmToolbarItem>
<PmToolbarItem plain :disabled="selections.length==0" @click="bulkDelete">批量删除</PmToolbarItem>
</PmToolbar>
<script>
import {BaseVue} from '@lib'
export default {
mixins:[BaseVue],
}
# 平台功能权限配置
# 应用管理业务对象中创建功能资源
1.在你的应用中点击业务对象管理,进入业务对象中。
2.点击资源管理,自定义资源分组名称为项目管理。
3.点击项目管理分组,选择右侧功能模块,点击新建功能。
4.输入必填项功能编码与功能名称,注意这里功能编码要与后端接口绑定的功能码常量一致。
操作说明
# 权限管理功能码-角色授权
1.点击权限管理,进入角色管理,切换tab页选择业务对象。
2.选择左侧应用树下具体的业务对象点击展开业务对象角色。
3.新建该业务对象下的角色,点击角色编码进入角色详情与授权界面。
4.切换tab页进入权限页面。
5.选择功能模块,下方即展示功能资源,左侧为功能资源分组名称,右侧有功能码资源。
6.勾选功能码资源即可为当前业务对象角色授予接口访问权限。
7.点击右下方保存按钮即可保存功能码权限。
操作说明
← 服务端获取用户信息说明 开发场景 →