博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ant design pro (十六)advanced 权限管理
阅读量:6111 次
发布时间:2019-06-21

本文共 1346 字,大约阅读时间需要 4 分钟。

一、概述

原文地址:

权限控制是中后台系统中常见的需求之一,你可以利用我们提供的权限控制组件,实现一些基本的权限控制功能,脚手架中也包含了几个简单示例以提供参考。

二、详细

2.1、权限组件 Authorized

这是脚手架权限管理的基础,基本思路是通过比对当前权限与准入权限,决定展示正常渲染内容还是异常内容,使用方式详见 。

2.2、应用实例

通过对数据的组织及权限组件的应用,脚手架实现了基本的权限管理,下面简单介绍了几个常见场景的应用方式。

脚手架中对组件 export 的 RenderAuthorized 函数进行了,默认传入当前的权限(mock 数据),因此在脚手架中使用时,无需再关注当前权限。

2.2.1、控制菜单显示

如需对某些菜单进行权限控制,只须对菜单配置文件  中的菜单项设置 authority 属性即可,代表该项菜单的准入权限,菜单生成文件中会默认调用 Authorized.check 进行判断处理。

{  name: '表单页',  icon: 'form',  path: 'form',  children: [{    name: '基础表单',    path: 'basic-form',  }, {    name: '分步表单',    path: 'step-form',  }, {    name: '高级表单',    authority: 'admin', // 配置准入权限    path: 'advanced-form',  }],}

2.2.2、控制路由导向

与菜单控制类似,路由权限的配置也很简单:

// src/common/router.js'/dashboard/analysis': {  component: dynamicWrapper(app, ['chart'], () => import('../routes/Dashboard/Analysis')),},'/dashboard/monitor': {  component: dynamicWrapper(app, ['monitor'], () => import('../routes/Dashboard/Monitor')),},'/dashboard/workplace': {  component: dynamicWrapper(app, ['project', 'activities', 'chart'], () => import('../routes/Dashboard/Workplace')),  authority: 'admin', // 配置准入权限},

注意:菜单中配置的权限会自动同步到对应路由中,如果 router.js 中有不同的配置,路由控制以 router.js 为准。

2.2.3、控制页面元素显示

使用  或  可以很方便地控制元素/组件的渲染,具体使用方式参见组件文档。

2.2.4、修改当前权限

脚手架中使用 localstorage 模拟权限角色,实际项目中可能需要从后台读取。

脚手架中实现了一个简单的刷新权限方法,在登录/注销等关键节点对当前权限进行了更新。
具体可以查看login.js中对的调用。

转载地址:http://gxkka.baihongyu.com/

你可能感兴趣的文章
Elasticsearch增删改查
查看>>
oracle归档日志增长过快处理方法
查看>>
有趣的数学书籍
查看>>
teamviewer 卸载干净
查看>>
多线程设计模式
查看>>
解读自定义UICollectionViewLayout--感动了我自己
查看>>
SqlServer作业指定目标服务器
查看>>
UnrealEngine4.5 BluePrint初始化中遇到编译警告的解决办法
查看>>
User implements HttpSessionBindingListener
查看>>
抽象工厂方法
查看>>
ubuntu apt-get 安装 lnmp
查看>>
焊盘 往同一个方向增加 固定的长度方法 总结
查看>>
eclipse的maven、Scala环境搭建
查看>>
架构师之路(一)- 什么是软件架构
查看>>
jquery的冒泡和默认行为
查看>>
USACO 土地购买
查看>>
【原创】远景能源面试--一面
查看>>
B1010.一元多项式求导(25)
查看>>
10、程序员和编译器之间的关系
查看>>
前端学习之正则表达式
查看>>